0
我有以下HTML:PHP回報倍數匹配相同的正則表達式模式
<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>
我想捕捉同一正則表達式中的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是如何工作的,在單一模式下不可能有更多的匹配?
由正則表達式的裝置解析HTML標記通常是不是一個好方法。這是非常不可靠和複雜的。改爲查看「DOM解析器」。這些是這種任務的正確工具。 – arkascha
我知道,我不能使用DOM,因爲我的文件沒有任何完整的HTML標籤,只有TABLE等,所以我無法訪問DOM。 – bsteo
這並不意味着你不能使用DOM解析器!簡單地將表格定義嵌入到簡約的HTML框架中。 – arkascha