用preg_replace

时间:2015-06-19 13:17:06

标签: php html

所以我到处寻找如何做到这一点,我找到了一些线程,但没有人帮助过我......我理解/如何/一般地替换它,但是这个例子是奇怪的(不是我的代码,我从其他人手中接过),所以我不确定如何更换它而不会在任何地方给我错误。

其中一个例子就是:

$content = eregi_replace("\\[url=([^\\[]*)\\]([^\\[]*)\\[/url\\]","<a href=\"\\1\" target=_blank>\\2</a>",$content);

这是一个函数,它将$ content转换为BB_Code。 我尝试过以下方法:

$content = preg_replace('/[url=([^\\[]*)\\]([^\\[]*)\\[/url\\]/i','<a href=\"\\1\" target=_blank>\\2</a>',$content);

但它会让我失去一个未知的修饰符&#34;在&#39; r&#39;错误。 也尝试了

    $content = preg_replace('/[url=([^[]*)]([^[]*)[/url]/i','<a href=\"\\1\" target=_blank>\\2</a>',$content);

但同样,未知的修饰符在&#39; r&#39;。

我很抱歉,如果这是一个糟糕的问题,但我只是想完全理解如何替换它,以便我可以修复语法...

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

你一直试图删除错误的斜杠。您需要删除正斜杠(/)而不是反斜杠(\),因为/标记了正则表达式的结束。

在url:

之前逃脱/
\\[url=([^\\[]*)\\]([^\\[]*)\\[\\/url\\]