php - 检测字符串中的 HTML 标签

标签 php

我需要检测一个字符串是否包含 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/

相关文章:

php - PDO 异常 - SQLSTATE[HY000] [2002] 尝试以 Azure 中的访问权限禁止的方式访问套接字

javascript - 成功的 ajax 返回后模态框不会关闭

php - 访问静态变量定义中的静态方法

php - WordPress 排队脚本和样式

php - artisan 迁移访问被拒绝

php - 为什么 "<image_link>"没有被插入就出现在我的数据库表字段中?

php - 如何编写 .htaccess 重定向来查找所有号码?

php - mysql - if value = 0 缩短 where 语句

PHP (Codeigniter) 和 ajax 帮助

PHP GD, imagecreatefromstring( );如何获得图像尺寸?