带有斜杠字符的php preg_replace

时间:2011-12-08 13:29:38

标签: php preg-replace

$remarks = preg_replace('/'.$searchText.'/i', '<span class="searchText">$0</span>', $remarks);

我使用上面的代码行突出显示用户输入的搜索文本。它的工作时间为99%,除非搜索字符串恰好包含正斜杠(/)字符。当他们这样做时,php返回“未知修饰符”错误。我已经尝试通过在preg_replace行之前添加这行代码来使用反斜杠字符转义正斜杠。

$searchText = str_replace('/', '\/', $searchText);

这似乎没有帮助。我如何使这项工作?

1 个答案:

答案 0 :(得分:2)

这就是preg_quote的用途:

$searchText = preg_quote($searchText, '/');
preg_replace("/$searchText/i", ...)