php preg_replace用斜线字符

问题描述 投票:1回答:2
$remarks = preg_replace('/'.$searchText.'/i', '<span class="searchText">$0</span>', $remarks);

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

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

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

php preg-replace
2个回答
2
投票

这就是preg_quote的用途:

preg_quote

0
投票

将HTML标签更改为乳胶...

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

疯狂...;)

© www.soinside.com 2019 - 2024. All rights reserved.