【问题标题】:get text inside single <br> tag simpleHTMLDOM PHP获取单个 <br> 标签内的文本 simpleHTMLDOM PHP
【发布时间】:2012-09-11 08:29:52
【问题描述】:

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

这里是源html源文件sn-p:

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

这是我的代码 sn-p:

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

然后输出:

TextInsideFontTextAfterBreak

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

【问题讨论】:

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


    【解决方案1】:

    explode() 在换行之后,因为plaintext 剥离了html 数据:

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

    【讨论】:

    • 简单优雅的解决方案。谢谢你:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-01
    • 2016-01-21
    • 1970-01-01
    • 2010-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多