2015-10-28 9 views
2

У меня есть некоторый текст, который возвращается из моей базы данных, как так:SubStr Строка с HTML в PHP

<span rgb(61,="" 36,="" 36);="" font-family:="" 'frutiger="" neue="" w01="" book',="" 'helvetica="" neue',="" helvetica,="" arial,="" sans-serif;="" line-height:="" 23.8px;"="">The Department of ...

Я использую echo html_entity_decode($item->body); на дисплей:

The Department of ...

Однако, если я использую функцию PHP substr на этом контенте, он никогда не отображается правильно. Он будет отображать первые x символов HTML, а не текст в формате HTML.

Вот что я пробовал: echo substr(html_entity_decode($item->body), 0, 5);

Но это ничего не отображается. Если я пытаюсь сумму как 0, 200); он будет показывать:

The Department of Molec

Но это определенно не первые 200 символов отформатированного текста, так как первый символ T.

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

Может ли кто-нибудь помочь мне здесь? Благодаря!

+2

Покажите нам свою попытку 'substr', чтобы мы могли исправить это. – Script47

+0

Обновлено мое сообщение. – Nic

+0

Да, у меня есть .... – Nic

ответ

0

Вы увидите результат в исходном коде, но не визуализируется. Исходный код будет показывать:

echo substr(html_entity_decode($item->body), 0, 5); 
// Output: "<span" 

То, что вы, вероятно, хотите сделать, это найти конец HTML-тег, и дисплей 5 символов после того, как:

$text = html_entity_decode($item->body); 
$start = strpos($text, '>') + 1; 
echo substr($text, $start, 5); 
+0

Отображает правильный текст, однако мой перерыв href. – Nic

+0

Тогда есть ужасный способ прочитать его как [DOMDocument] (http://php.net/manual/en/book.dom.php) и разобрать через узлы и nodeValues –

1

пытающимися использовать эту вместо html_entity_decode():

strip_tags($item->body); 

strip_tags удаляет все HTML-теги из строки. Поэтому вам лучше обработать струну, а затем сделать что-то с ней.

 Смежные вопросы

  • Нет связанных вопросов^_^