【问题标题】:parse HTML Table and format out text解析 HTML 表格并格式化文本
【发布时间】:2016-07-30 16:18:06
【问题描述】:

您好,我有这些独立的 html 代码(作为我的输入):

案例1:

<td class="C" width="10%">
    <a href="URL1" onclick="ValDobleSubmit()">
  String1
         <span style="color: blue; font-weight:bold;">
           String2
        </span>
    </a>
</td>
<td class="C" width="15%">
    String3
</td>
<td class="t" align="left" width="15%">
    String4
</td>
<td class="t" align="left" width="10%">
    String5
</td>

案例 2

<td class="C" width="10%">
    <a href="URL1" onclick="ValDobleSubmit()">
  String1
    </a>
</td>
<td class="C" width="15%">
    String3
</td>
<td class="t" align="left" width="15%">
    String4
</td>
<td class="t" align="left" width="10%">
    String5
</td>

我想使用 bash shell 脚本或 PHP(控制台)来获得此输出:

  • 案例1:

String1String2|URL1|String3|String4|String5

  • 案例2:

String1|URL1|String3|String4|String5

【问题讨论】:

  • 请发布一些您编写的代码,以证明您为解决这个问题所做的努力。另请参阅minimal reproducible example
  • 很抱歉我忘了提及我的努力。我的输入在 file.txt 中,所以我对 case1 进行了尝试: cat file.txt |grep -v "
  • 我有一个使用这个的基本解决方案,但问题是当我的输入文件在同一个文件中包含多个案例时。

标签: php bash shell parsing


【解决方案1】:
     $DOM = new DOMDocument;
     $DOM->loadHTML($CaseSource);
     $cells = $DOM->getElementsByTagName('td');
    foreach($cells as $cell){
$out[] = $cell->nodeValue;
}

【讨论】:

  • 也可以使用strip_tags();转义 html 标签
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-10
  • 1970-01-01
  • 1970-01-01
  • 2014-12-08
  • 1970-01-01
  • 2012-01-20
相关资源
最近更新 更多