Какая функция в php проверяет правильность строки?

Какая функция в php проверяет, является ли строка html? Моя цель для ввода ввода от пользователя и проверки ввода html, а не только строки.

Пример для строки не html:

sdkjshdk<div>jd</h3>ivdfadfsdf or sdkjshdkivdfadfsdf 

Пример для строки html:

 <div>sdfsdfsdf<label>dghdhdgh</label> fdsgfgdfgfd</div> 

благодаря

Related of "Какая функция в php проверяет правильность строки?"

Возможно, вам нужно проверить, хорошо ли сформирована строка.

Я бы использовал такую ​​функцию

 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 chunk

 <ul><li>Hi<li> I'm another li</li></ul> 

Отказ от ответственности Я изменил код (без его тестирования) . чтобы обнаружить хорошо сформированный html внутри строки.

Последнее, хотя, возможно, вы должны использовать strip_tags для управления вводом пользователя (как я видел в ваших комментариях)

Вы имеете в виду HTML или XHTML?

Стандарт и интерпретация HTML настолько свободны, что ваш первый фрагмент может работать. Это будет не очень хорошо, но вы можете что-то получить.

XHTML является довольно немного более строгим и, как минимум, будет ожидать, что ваш фрагмент будет хорошо сформирован (все открытые теги закрыты, теги могут входить, но не перекрываться) и могут вызывать предупреждения, если у вас есть непризнанные элементы или атрибуты.

Что-то вроде Tidy – http://php.net/manual/en/book.tidy.php – возможно, хорошее начало. После того как вы загрузите свой фрагмент, используя это, вы можете использовать tidy_error_count или tidy_get_error_buffer, чтобы узнать, достаточно ли это для ваших нужд.

Вы можете использовать метод DomDocument loadHTML

Вы пытаетесь запретить пользователям размещать теги html вместо строк? Причина, если это то, что вы хотите сделать, вам просто нужны striptags ()

Wich удалит любые html-теги из строки.

Если вы также хотите сделать свой сайт безопасным, вам обязательно нужно использовать очиститель HTML, такой как htmlpurifier, tidy и т. Д.