非常に長いHTMLテーブルから情報を解析しています。現在、私が使用しているコードは、DOMDocument、DOMElement(など)クラスを使用して解析します。テーブルから情報を正規表現することに対して現在のメソッドを実行するパフォーマンステストを実行したかったのですが、正しい式を取得できません。
テーブルのHTML行は次のようになります。
<tr><td> JON SMITH </td><td> 2000-09-29 </td></tr>
そして、私が試みてきた表現は次のようになります。
/(?:<td>([a-zA-Z\s]*?)<\/td><td>([0-9-\s]*?)<\/td>)/
上記の式の問題は、内側の列の内容だけでなく、行の内容全体を返すことです。理想的には、preg_match_all配列の結果は、名前、日付、名前、日付などになります。
これは合理的なことですか、それともDOM手法に固執する必要がありますか?それが合理的である場合、誰かが正規表現で手を貸すことができますか?
ありがとう!
編集:将来誰かがこれに遭遇した場合に備えて、RegExソリューションはDOMクラスを使用するよりもはるかに優れたパフォーマンスを発揮します。私の状況では、それは秒と分の違いです。