Вывести строку без html-тэгов, но оставить их содержимое

205
13 февраля 2018, 06:38

Есть код который выводит первую строку из файла:

$fopen=@file($file);
$need="0";  
$texter =  $fopen[$need];

Выводиться строка из html файла прямо с тегами.

Как вывести строку без символов <>?

Пример строки:

<!-- text -->

Вывод:

text
Answer 1

Можно с помощью одного регулярного выражения удалить и html-комментарии, и html-теги:

$str = '<h4>Заголовок</h4> <!-- text --> <p style="color: red;">Параграф</p>';
echo preg_replace('~(?:<!--\s*|\s*-->|</?[a-z\d]+[^>]*>)~', '', $str);
Answer 2

Возможно так:

$clearString = '';
if (preg_match('/<\!--(.*)-->/i'), $texter, $matches) {
    $clearString = trim($matches[1]);
}
Answer 3

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

<?php
$str = '<!-- text --> no tag test <span>span text</span> some other<br />text <!----> <!-- another comment -->';
$str = preg_replace('/<!--(.*?)-->/i', '$1', $str);
echo strip_tags($str);

Выведет:

 text  no tag test span text some othertext   another comment 
READ ALSO
Как задать цвет заголовку?

Как задать цвет заголовку?

Подскажите, какой контейнер или атрибут тега задает цвет заголовку?

250
Проблема при загрузке .css

Проблема при загрузке .css

Файлcss почему-то не подгружается, выводя в консоли ошибку:

265
Почему на сайтах не используется отступ для начала красной строки?

Почему на сайтах не используется отступ для начала красной строки?

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

266