Подтвердить что ты не робот

Удалить все теги 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 THEN отображает первые 100 символов.

Любые идеи кто-нибудь?

4b9b3361

Ответ 1

использовать 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) . "..."; ?>

Ответ 2

Используйте PHP функцию strip_tags().

Например:

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


print($businessDesc);

Ответ 3

Удалите все теги 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.*?>.*?</\1>@si', '', $text);

 }

Вывод:

Lorem Ipsum - просто фиктивный текст печатной и печатной промышленности.

Ответ 4

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

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

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

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

Ответ 5

Для меня это лучшее решение.

function strip_tags_content($string) { 
    // ----- remove HTML TAGs ----- 
    $string = preg_replace ('/<[^>]*>/', ' ', $string); 
    // ----- remove control characters ----- 
    $string = str_replace("\r", '', $string);
    $string = str_replace("\n", ' ', $string);
    $string = str_replace("\t", ' ', $string);
    // ----- remove multiple spaces ----- 
    $string = trim(preg_replace('/ {2,}/', ' ', $string));
    return $string; 

}

Ответ 6

На всякий случай fgetss() читает файл в строке, удаляя/удаляя все теги html и php.

Ответ 7

В Laravel вы можете использовать следующий синтаксис

 @php
   $description='<p>Rolling coverage</p><ul><li><a href="#" onclick="location.href='http://xys.com'; return false;">Brexit deal: May admits she would have </a><br></li></ul></p>'
 @endphp
 {{  strip_tags($description)}}