我正在尝试为我有数据的文件执行preg_match_all 该文件包含以下数据:
</tr><tr align="center">
<td class="a">.xyz</td><td class="b">$139.00 N.N.</td><td class="c">$10.99 USD</td><td class="b">$15.99 USD</td>
</tr><tr align="center">
<td class="a">.abc</td><td class="b">$139.00 N.N.</td><td class="c">$10.99 USD</td><td class="b">$15.99 USD</td>
</tr>
这里我需要匹配一个模式并将其存储在一个数组中 名称:
$pattern_name = "/class=\"a\">(?<name>\..*?)<\/td>/";
preg_match_all($pattern_name, $source, $match_price, PREG_PATTERN_ORDER);
我能够使用类a
获取源文件中的所有名称现在的问题是我需要得到价格,即班级为b的价格,即a类后的第一个:
$pattern_price = "/class=\"b\">^[$](?<price>[^&](.*?)\..*?)N.N.$<\/td>/";
preg_match_all($pattern_price, $source, $match_price, PREG_PATTERN_ORDER);
$result_array = array("name" => array(), "price" => array());
$result_array["name"] = $match_name["name"];
$result_array["price"] = $match_price["price"];
我能够成功地为pattern_name而不是pattern_price。