我需要检测一个字符串是否包含 HTML 标签。
if(!preg_match('(?<=<)\w+(?=[^<]*?>)', $string)){
return $string;
}
上面的正则表达式给我一个错误:
preg_match() [function.preg-match]: Unknown modifier '\'
我不太了解正则表达式,所以不确定问题出在哪里。我尝试转义\但它什么也没做。
有比正则表达式更好的解决方案吗?如果不是,使用 preg_match 的正确正则表达式是什么?
最佳答案
一个简单的解决方案是:
if($string != strip_tags($string)) {
// contains HTML
}
相对于正则表达式的好处是它更容易理解,但是我无法评论这两种解决方案的执行速度。
关于php - 检测字符串中的 HTML 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5732758/