如果字符串是有效的HTML,PHP中的哪个函数验证?

Yos*_*sef 3 html php validation

如果字符串是html,php中的哪个函数验证?我的目标是从用户那里获取输入并检查是否输入html而不仅仅是字符串.

不是html字符串的示例:

sdkjshdk<div>jd</h3>ivdfadfsdf or sdkjshdkivdfadfsdf
Run Code Online (Sandbox Code Playgroud)

html字符串示例:

<div>sdfsdfsdf<label>dghdhdgh</label> fdsgfgdfgfd</div>
Run Code Online (Sandbox Code Playgroud)

谢谢

Ein*_*eki 8

也许您需要检查字符串是否格式正确.

我会使用这样的函数

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;
}
Run Code Online (Sandbox Code Playgroud)

只是一个警告:html允许不平衡的字符串,如下所示.它不是一个xml有效的块,但它是一个合法的html块

<ul><li>Hi<li> I'm another li</li></ul>
Run Code Online (Sandbox Code Playgroud)

免责声明我修改了代码(没有测试它).为了检测字符串中形成良好的html.

最后虽然也许你应该使用strip_tags来控制用户输入(正如我在你的评论中看到的那样)


a1e*_*x07 5

您可以使用DomDocument的方法loadHTML