2016-07-30 11 views
-2

をフォーマットするこんにちは、私はこれらの孤立したHTMLコード(私の入力など)があります。解析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 shellsスクリプトまたはPHP(コンソール)を使用して出力します。

  • ケース1:

String1String2 | URL1 | string3が| String4 | String5

  • 事例2:

文字列1 | URL1 | string3が| String4 | String5

+0

投稿してくださいいくつかのあなたが書いたコードは、これを解決するあなたの努力を証明します。また、[mcve]を作ることを参照してください – sjsam

+0

私の努力について言及することを忘れてしまいました。 私の入力はfile.txtに入っていますので、case1に対してこれを試しました: cat file.txt | grep -v "<" |を読んでいる間; do echo $ a "|";行わ| sedの ':; N; $ BA; S/\ N//グラム!の' | sedの年代/ | * $ // gを 私はこれを取得することができます: 文字列1 | String2 | String3 | String4 | String5 – fermaf

+0

私はこれを使用して基本的な解決策を持っていますが、問題は私の入力ファイルが同じファイルにいくつかのケースが一緒に来たときです。 – fermaf

答えて

0
 $DOM = new DOMDocument; 
    $DOM->loadHTML($CaseSource); 
    $cells = $DOM->getElementsByTagName('td'); 
    foreach($cells as $cell){ 
$out[] = $cell->nodeValue; 
} 
+0

もstrip_tags()を使用できます。 htmlタグをエスケープする –