我正在解析一个网站而且我遇到了问题,因为它有一些文本与<br>
分开,但是当我使用$node->text()
时,甚至没有一个空格代替<br>
<br>
1}}。
如何获取<span>Some<br>Text</span>
或者至少用空格替换它?
HTML是这样的:
SomeText
目前我得到Some Text
,我希望它为{{1}};
谢谢!
答案 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