我有以下正则表达式在正则表达式编辑器中工作正常但是当我在PHP中将它拉到一起时我得到了和未知修饰符'('错误出现。
preg_replace("(\[LINK\])(\S*)(\[\/LINK])", "<a>href=\'$2\'>$2</a>", $xtext);
这是我关于SO的第一个问题所以我希望我已经提供了足够的信息。根据我的研究,我相信我缺少分隔符,但在搜索模式的开始和结束时尝试过,但似乎仍无效。
答案 0 :(得分:0)
试试这个
preg_replace("/(\[LINK\])(\S*)(\[\/LINK])/", "<a>href=\'$2\'>$2</a>", $xtext);
请注意分隔符
答案 1 :(得分:0)
试试:
$input = 'foo [LINK]http://google.com[/LINK] bar';
$output = preg_replace('/\[LINK\](.*?)\[\/LINK\]/', '<a href="$1">$1</a>', $input);
输出:
string 'foo <a href="http://google.com">http://google.com</a> bar' (length=57)