Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 解析HTML表格并格式化文本_Php_Bash_Shell_Parsing - Fatal编程技术网

Php 解析HTML表格并格式化文本

Php 解析HTML表格并格式化文本,php,bash,shell,parsing,Php,Bash,Shell,Parsing,您好,我有这些独立的html代码(作为输入): 案例1: <td class="C" width="10%"> <a href="URL1" onclick="ValDobleSubmit()"> String1 <span style="color: blue; font-weight:bold;"> String2 </span> </a> </td&

您好,我有这些独立的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>

弦3
弦4
弦5
案例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>

弦3
弦4
弦5
我想使用bash Shell脚本或PHP(控制台)来获得以下输出:

  • 案例1:
String1String2 | URL1 | String3 | String4 | String5

     $DOM = new DOMDocument;
     $DOM->loadHTML($CaseSource);
     $cells = $DOM->getElementsByTagName('td');
    foreach($cells as $cell){
$out[] = $cell->nodeValue;
}
  • 案例2:

String1 | URL1 | String3 | String4 | String5

请发布一些您编写的代码,以证明您解决此问题的努力。也看看是什么让我很抱歉我忘了提到我的努力。我的输入是在一个file.txt文件中,所以我尝试了case1:cat file.txt | grep-v“我有一个基本的解决方案,使用它,但问题是当我的输入文件在同一个文件中包含多个案例时。我还可以使用strip_tags();来转义html标记
     $DOM = new DOMDocument;
     $DOM->loadHTML($CaseSource);
     $cells = $DOM->getElementsByTagName('td');
    foreach($cells as $cell){
$out[] = $cell->nodeValue;
}