2015-11-05 5 views
0

Я разбираюсь в веб-сайте, и у меня есть проблема, потому что у него есть текст, разделенный на <br>, но когда я использую $node->text(), вместо этого нет места <br> ,Получите весь HTML-код, а не только текст с Goutte

Как я могу сделать <br> или, по крайней мере, заменить его пространством?

HTML-то вроде этого:

<span>Some<br>Text</span>

В настоящее время я получаю SomeText и я хочу, чтобы это было Some Text;

Спасибо!

ответ

1

Вы можете получить HTML-код для этого узла вместо текста и заменить теги <br> пробелами самостоятельно. Что-то, как это должно делать только штрафом:

str_replace('<br>', ' ', strip_tags($node->html(), '<br>')); 

strip_tags есть, чтобы удалить что-нибудь, что это не <br>, так что было бы эквивалентно методу text(), но позволяют теги линии разрыва. Затем их можно заменить пробелами, используя str_replace. Выше превратит это:

<span>Some<br>Text</span> 

в этом

Some Text 
+0

Это здорово. Благодаря! – Alex

2

С помощью Goutte вы можете использовать метод html().

$node->html(); 

Он будет включать в себя <br/>. Затем вы можете использовать strip_tags для удаления тегов html.

$text = strip_tags($node->html()); 

Возможно, это связано с Goutte.

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