获取整个HTML,而不仅仅是使用Goutte的文本

时间:2015-11-05 18:11:15

标签: php html laravel guzzle goutte

我正在解析一个网站而且我遇到了问题,因为它有一些文本与<br>分开,但是当我使用$node->text()时,甚至没有一个空格代替<br> <br> 1}}。

如何获取<span>Some<br>Text</span>或者至少用空格替换它?

HTML是这样的:

SomeText

目前我得到Some Text,我希望它为{{1}};

谢谢!

2 个答案:

答案 0 :(得分:2)

使用Goutte,您可以使用html()方法。

$node->html();

虽然会包含<br/>。然后,您可以使用strip_tags删除html标记。

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

Goutte可能有一种内置的方法。

答案 1 :(得分:1)

您可以检索该节点的HTML而不是文本,并自行将<br>标记替换为空格。这样的事情应该做得很好:

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

strip_tags可以删除任何不是<br>的内容,因此它等同于text()方法,但允许换行符。然后可以使用str_replace替换空格。以上将改变这一点:

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

进入这个

Some Text