PHP-如果仅包含HTML标记或带有HTML标记的文本,则检测字符串

时间:2018-06-24 12:33:50

标签: php

我陷入了困境。 我正在使用WYSIWYG文本编辑器,如果文本区域为空,则将结果保存到数据库中时,它仍将<div><br></div>内容插入到数据库中。 所以我的问题是如何识别字符串是否仅包含HTML标记而没有单词? 我尝试使用strpos,但没有结果,并且我确定这不是进行此类检查的正确功能。

2 个答案:

答案 0 :(得分:1)

是的,这不是正确的功能。您必须为此使用正则表达式。

这里是一个正则表达式,用于检查一个字符串中是否只有html标记:

^(<[^>]*>)+$

您可以将其与PHP的preg_match()函数一起使用。该函数返回truefalse,具体取决于正则表达式是否匹配(如果只有HTML标记)。

$is_only_html = preg_match("#^(<[^>]*>)+$#", $string_input_to_check);

希望有帮助。

答案 1 :(得分:0)

您可以使用strip_tags来检查是否只有标签:

if (trim(strip_tags($str)) === '') {
    //only tags - no text.
}
  

演示: https://ideone.com/I8CPpT