0
I次のようなHTMLがあります。PHPリターン複数の一致同じREGEXパターン
<tr valign="top">
<td>Name:</td>
<td>John Doe</td>
</tr>
<tr><td colspan="2"> </td></tr>
<tr valign="top">
<td>Address:</td>
<td>71 view st, Fitchburg, MA 01420</td>
</tr>
<tr><td colspan="2"> </td></tr>
<tr valign="top">
<td>Phone:</td>
<td>978-345-5391</td>
</tr>
<tr><td colspan="2"> </td></tr>
<tr>
<td>Email:</td>
<td>[email protected]</td>
</tr>
は、私は同じREGEXパターン内Name
、Phone
とEmail
の値をキャプチャしたい、のようなもの:
$pattern = "/Name:<\/td>\s*<td>(.*)<\/td>.*Address:<\/td>\s*<td>(.*)<\/td>.*card ([0-9].*)<\/td>/m";
を
別に試してみると:
$pattern = "/Name:<\/td>\s*<td>(.*)<\/td>/m";
$pattern = "/Phone:<\/td>\s*<td>(.*)<\/td>/m";
$pattern = "/Email:<\/td>\s*<td>(.*)<\/td>/m";
大丈夫。たぶん、私はREGEXの仕組みを理解していないかもしれません、単一のパターンでより多くの一致を持つことはできませんか?
、典型的には、良好なアプローチではありません。それは非常に信頼性が低く、複雑です。代わりに 'DOM parser'を見てください。それらはそのようなタスクのための適切なツールです。 – arkascha
DOMを使用することはできません。ファイルには完全なHTMLタグがなく、TABLEだけなのでDOMにアクセスできません。 – bsteo
これは、DOMパーサを使用できないことを意味しません!最小限のHTMLフレームワークにそのテーブル定義を埋め込むだけです。 – arkascha