如果字符串是html,PHP中的哪个函数验证?
我的目标是从用户那里获取输入并检查是否输入html而不仅仅是字符串.
我的目标是从用户那里获取输入并检查是否输入html而不仅仅是字符串.
不是html字符串的示例:
sdkjshdk<div>jd</h3>ivdfadfsdf or sdkjshdkivdfadfsdf
html字符串示例:
<div>sdfsdfsdf<label>dghdhdgh</label> fdsgfgdfgfd</div>
谢谢
解决方法
也许您需要检查字符串是否格式正确.
我会使用这样的函数
function check($string) { $start =strpos($string,'<'); $end =strrpos($string,'>',$start); $len=strlen($string); if ($end !== false) { $string = substr($string,$start); } else { $string = substr($string,$start,$len-$start); } libxml_use_internal_errors(true); libxml_clear_errors(); $xml = simplexml_load_string($string); return count(libxml_get_errors())==0; }
只是一个警告:html允许不平衡的字符串,如下所示.它不是一个xml有效的块,但它是一个合法的html块
<ul><li>Hi<li> I'm another li</li></ul>
免责声明我修改了代码(没有测试).为了检测字符串中形成良好的html.
最后一个
也许您应该使用strip_tags来控制用户输入(正如我在您的评论中看到的那样)