所以我到处寻找如何做到这一点,我找到了一些线程,但没有人帮助过我......我理解/如何/一般地替换它,但是这个例子是奇怪的(不是我的代码,我从其他人手中接过),所以我不确定如何更换它而不会在任何地方给我错误。
其中一个例子就是:
$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;。
我很抱歉,如果这是一个糟糕的问题,但我只是想完全理解如何替换它,以便我可以修复语法...
感谢您的帮助!
答案 0 :(得分:0)
你一直试图删除错误的斜杠。您需要删除正斜杠(/
)而不是反斜杠(\
),因为/
标记了正则表达式的结束。
在url:
之前逃脱/
\\[url=([^\\[]*)\\]([^\\[]*)\\[\\/url\\]