Which function in php validate if the string is html? My target to take input from user and check if input html and not just string.
Example for not html string:
sdkjshdk<div>jd</h3>ivdfadfsdf or sdkjshdkivdfadfsdf
Example for html string:
<div>sdfsdfsdf<label>dghdhdgh</label> fdsgfgdfgfd</div>
Thanks
Maybe you need to check if the string is well formed.
I would use a function like this
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;
}
Just a warning: html permits unbalanced string like the following one. It is not an xml valid chunk but it is a legal html chunk
<ul><li>Hi<li> I'm another li</li></ul>
Disclaimer I've modified the code (without testing it). in order to detect well formed html inside the string.
A last though Maybe you should use strip_tags to control user input (As I've seen in your comments)
You can use DomDocument's method loadHTML
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With