基本上,我正在尝试将xenforo的论坛脚本数据库转换为我的自定义脚本数据库(放弃使用xenforo),它们的bbcode让我很恼火。
我正试着把他们的所有url bbcode改成我的:
$message = preg_replace("/\[url\=\'(.+?)\'\](.+?)\[\/url\]/is",
"[url=$1]$2[/url]", $message);基本上,他们在urls两边有单引号,我不想要它们,但我的代码无法工作。
发布于 2012-11-28 18:44:43
如果对regexp字符串使用双引号,则必须进行双转义,因为PHP也会解释反斜杠
$message = preg_replace("/\\[url='(.+?)'\\](.+?)\\[\\/url\\]/is",
"[url=$1]$2[/url]", $message);测试用例
<?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上完成的。
https://stackoverflow.com/questions/13602996
复制相似问题