PHP正则表达式抓取数据

来源:百度知道 编辑:UC知道 时间:2024/06/27 12:37:12
<tr>
<td width=15% align=right><b>电话:</b></td>
<td width=85%>86666947</td>
</tr>
<tr>
<td align=right ><b>地址:</b></td>
<td >春熙路8号</td>
</tr>
<tr>
<td align=right ><b>人均:</b></td>
<td ><span class=f_red_14b>14</span>元</td>
</tr>
<tr>
<td align=right><b>菜系:</b></td>
<td>快餐/小吃</td>
</tr>

代码如上,我需要抓出 86666947 春熙路8号 14 快餐/小吃 这几条数据,在PHP中怎么使用正则表达式抓取呀? 我用 preg_match_all()写。总是错误,希望高手指引 正确的 正则表达式
Array
(
[0] => 86666947
[1] => 春熙路8号
[2] => 快餐/小吃
)
如何将这几个元素提取分别取出来呢?因为我要存数据库,而这3个元素要分别存入不同的数据库

$xml=simplexml_load_string('<?xml version="1.0" encoding="utf-8"?><table>'+string+'</table>');
foreach($xml->children() as $child){
echo $child->td[1];
}

$string_1 = '
<tr>
<td width=15% align=right><b>电话:</b></td>
<td width=85%>86666947</td>
</tr>
<tr>
<td align=right ><b>地址:</b></td>
<td >春熙路8号</td>
</tr>
<tr>
<td align=right ><b>人均:</b></td>
<td ><span class=f_red_14b>14</span>元</td>
</tr>
<tr>
<td align=right><b>菜系:</b></td>
<td>快餐/小吃</td>
</tr>
'
;
preg_match_all ("|<td[^>]*>([^(<b>)].*)</td>|", $string_1, $out, PREG_PATTERN_ORDER);
print_r($out[1]);