У меня есть строка, такая как
<p> <style type="text/css"> P { margin-bottom: 0.21cm; direction: ltr; color: rgb(0, 0, 0); }P.western { font-family: "Times New Roman",serif; font-size: 12pt; }P.cjk { font-family: "Arial Unicode MS",sans-serif; font-size: 12pt; }P.ctl { font-family: "Tahoma"; font-size: 12pt; } </style> </p> <p align="CENTER" class="western" style="margin-bottom: 0cm"> <font size="5" style="font-size: 20pt"><u><b> TEXT I WANT TO GET </b></u></font></p>
Как я могу снять html, css и получить только текст?
strip_tags()
известно о strip_tags()
, и я могу написать функцию с preg_replace
, но есть ли рабочее решение для php? Благодарю.
Использование:
<?php $text = '<p> <style type="text/css"> P { margin-bottom: 0.21cm; direction: ltr; color: rgb(0, 0, 0); }P.western { font-family: "Times New Roman",serif; font-size: 12pt; }P.cjk { font-family: "Arial Unicode MS",sans-serif; font-size: 12pt; }P.ctl { font-family: "Tahoma"; font-size: 12pt; } </style> </p> <p align="CENTER" class="western" style="margin-bottom: 0cm"> <font size="5" style="font-size: 20pt"><u><b> TEXT I WANT TO GET </b></u></font></p>'; $text = strip_tags($text,"<style>"); $substring = substr($text,strpos($text,"<style"),strpos($text,"</style>")+2); $text = str_replace($substring,"",$text); $text = str_replace(array("\t","\r","\n"),"",$text); $text = trim($text); echo $text; ?>
u может удалить все теги html с помощью этого
<?php $text = '<p>your string <p><!-- Comment --> <a href="#fragment">another strting </a><html>more text</html>'; echo strip_tags($text); ?>