包含正斜杠的正则表达式会创建警告
这个函数不起作用:
function remove_ul($ul) {
$ul = preg_replace('/<ul id="general-nav">/', '<ul class="nav">', $ul, 1);
$ul = preg_replace('/</ul>/', '<li class="blank"></li></ul>', $ul, 1);
return $ul;
}
我认为这是因为在 行上重复了
/
。
This function doesn't work:
function remove_ul($ul) {
$ul = preg_replace('/<ul id="general-nav">/', '<ul class="nav">', $ul, 1);
$ul = preg_replace('/</ul>/', '<li class="blank"></li></ul>', $ul, 1);
return $ul;
}
I think it's because of the repeating /
on the line with </ul>
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试将这个:替换
为:
或者尝试:
因为在你的代码中,你指定了分隔符
/
然后使用,有冲突,你需要使用
\
转义分隔符或使用#
作为分隔符。Try replacing this:
with:
Or try:
Because in your code, you have specified the delimiter
/
and then using</ul>
, there is conflict, you need to either escape the delimiter with\
or use#
as delimiters.对第二个表达式中的斜杠进行转义 (
/<\/ul>/
)。如果您的查询变得更加复杂,您可能还必须使用捕获组(括号)。哦,用正则表达式解析 html 是邪恶的。在 XHTML Regex 潮流席卷这篇文章之前。 :)
Escape the slash in the second expression (
/<\/ul>/
). If your query becomes more complex, you might have to use a capturing group as well (parentheses).Oh and parsing html with regex is evil. In before the XHTML Regex bandwagon storms this post. :)