在单个内部获取文本<br/>标签simpleHTMLDOM PHP

时间:2012-09-11 08:29:53

标签: php html-parsing simple-html-dom

我正在尝试使用PHP的simplehtmldom lib从html文件中获取文本。我只想要<br>标签(TextAfterBreak)之后的文本,但只知道如何在<font></font>标签之间获取整个文本(在本例中为TextInsideFontTextAfterBreak)。 我已经尝试了find("/td/font/br"),但它返回一个空字符串,可能是因为没有关闭</br>标记?任何帮助将不胜感激!

这是源html源文件片段:

<td>
    <font size="-1" face="Verdana, Helvetica, Arial, sans-serif" color="#330000">
    TextInsideFont
    <br>
    TextAfterBreak
    </font>
</td>

这是我的代码段:

$element=$row->find("/td/font");
echo $element =$element[0]->plaintext;

输出:

TextInsideFontTextAfterBreak

注意:html文件中的每个表行都是唯一的,因此任何正则表达式或字符串操纵符都不起作用。

1 个答案:

答案 0 :(得分:3)

在新行之后

explode(),因为plaintext剥离了html数据:

$element = $row->find("/td/font");
$element = explode("\n", $element[0]->plaintext);
echo trim($element[1]);