首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将此bbcode替换为此bbcode

将此bbcode替换为此bbcode
EN

Stack Overflow用户
提问于 2012-11-28 18:33:30
回答 1查看 253关注 0票数 3

基本上,我正在尝试将xenforo的论坛脚本数据库转换为我的自定义脚本数据库(放弃使用xenforo),它们的bbcode让我很恼火。

我正试着把他们的所有url bbcode改成我的:

代码语言:javascript
复制
$message = preg_replace("/\[url\=\'(.+?)\'\](.+?)\[\/url\]/is",
                        "[url=$1]$2[/url]", $message);

基本上,他们在urls两边有单引号,我不想要它们,但我的代码无法工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-28 18:44:43

如果对regexp字符串使用双引号,则必须进行双转义,因为PHP也会解释反斜杠

代码语言:javascript
复制
$message = preg_replace("/\\[url='(.+?)'\\](.+?)\\[\\/url\\]/is",
                        "[url=$1]$2[/url]", $message);

测试用例

代码语言:javascript
复制
<?php
$message = "[url='http://www.example.com/test']My test URL[/url]";
$message = preg_replace("/\\[url='(.+?)'\\](.+?)\\[\\/url\\]/is",
                        "[url=$1]$2[/url]", $message);
echo "$message\n";

和它的输出

url=http://www.example.com/testMy测试URL/url

测试是在Ubuntu 12.04和PHP 5.3.10上完成的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13602996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档