Удалить все html теги из строки php


Я хочу отобразить первые 110 символов записи базы данных. Довольно легко до сих пор:

<?php echo substr($row_get_Business['business_description'],0,110) . "..."; ?>

но в приведенной выше записи есть html-код, который был введен клиентом. Поэтому он отображает:

<p class="Body1"><strong><span style="text-decoration: underline;">Ref no:</span></strong> 30001<strong></stro...

явно ничего хорошего.

Я просто хочу удалить весь html-код, поэтому мне нужно удалить все между из записи db, а затем отобразить первые 100 символов.

есть идеи кто-нибудь?

4 59
php

4 ответа:

использовать strip_tags

$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text);   //output Test paragraph. Other text

<?php echo substr(strip_tags($row_get_Business['business_description']),0,110) . "..."; ?>

использовать PHP strip_tags() функции.

например:

$businessDesc = strip_tags($row_get_Business['business_description']);
$businessDesc = substr($businessDesc, 0, 110);


print($businessDesc);

удалить все HTML-теги из строки PHP с содержимым!

Допустим, у вас есть строка, содержащая якорный тег, и вы хотите удалить этот тег с содержимым, тогда этот метод будет полезен.

$srting = '<a title="" href="/index.html"><b>Some Text</b></a>
Lorem Ipsum is simply dummy text of the printing and typesetting industry.';

echo strip_tags_content($srting);

function strip_tags_content($text) {

    return preg_replace('@<(\w+)\b.*?>.*?</>@si', '', $text);

 }

выход:

это Lorem ipsum просто манекен текста печати и верстки промышленности.

использовать это регулярное выражение: /<[^<]+?>/g

$val = preg_replace('/<[^<]+?>/g', ' ', $row_get_Business['business_description']);

$businessDesc = substr(val,0,110);

из вашего примера следует остановиться: Ref no: 30001