残念ながらxml/xcodeで解析できない破損したhtmlページがあるため、正規表現を思いつきました。私は正規表現初心者ですが、正しい結果が得られません。
ソース
<td>FIELD:</td> <td>VALUE<td>
値を取得したいのですが、ここで行き詰まっています
$regex = '{<td[^>]*<td>(.*?)</td>}';
編集:結果として、値に到達できる配列が必要なので、値に興味があるだけです
すべてのヒントに感謝します。
乾杯遠藤
残念ながらxml/xcodeで解析できない破損したhtmlページがあるため、正規表現を思いつきました。私は正規表現初心者ですが、正しい結果が得られません。
ソース
<td>FIELD:</td> <td>VALUE<td>
値を取得したいのですが、ここで行き詰まっています
$regex = '{<td[^>]*<td>(.*?)</td>}';
編集:結果として、値に到達できる配列が必要なので、値に興味があるだけです
すべてのヒントに感謝します。
乾杯遠藤
これを試して:
'{<td>.*?</td>\s+<td>(.*?)</td>}'
しかし/
、HTML テキストに a がありませんでした。破損によって、終了タグのスラッシュが欠落している場合は、次のように使用できます。
'{<td>.*?</?td>\s+<td>(.*?)</?td>}'
終了タグのスラッシュはオプションになりました
正規表現にはすぐにわかる問題がいくつかあります。たとえば、<td[^>]*<td>
あなたが思っていることをしません。しかし、別の正規表現を提案するのではなく、最も健全なことを行うことをお勧めします。
私を信じて。やらないでください。他の人がここに来て、新しい正規表現パターンを提案しますが、それらのパターンはすべて間違っています。正規表現は、クリーンな HTML/XML を解析するタスクを実行することさえできないため、勝手に破損したコードで正規表現を使用しようとすると、狂気のレシピになります。この種のもののために作られたHTML Tidyを試してください。HTML の何が問題なのかによっては、HtmlPurifierやBeautiful Soupなどのパーサーでも動作する可能性があります。
少し手間がかかるように思えるかもしれませんが、長い目で見れば時間を節約できます。