日期:2014-05-17 浏览次数:20527 次
//题目说得不是很清楚,汉字?是指a标签的内容,还是所有的中文? //这里暂时以标签内容处理 $str = '<tr class="line"> <td align="center">[玄幻魔法]</td> <td><a href="http://www.xiaoshuo5200.net/html/0/1/index.html">斗破苍穹</a></td> <td><a href="http://www.xiaoshuo5200.net/html/0/1/640748.html" target="_blank">第一章 五帝破空</a></td> <td>天蚕土豆</td> <td>08-01</td> <td align="center">连载</td> <td align="center">1608</td> </tr>'; preg_match_all('/<a.*href="(.*)".*>(.*)<\/a>/isU', $str, $matches); foreach($matches[1] as $k=>$v) { echo $v . '=>' . $matches[2][$k] . '<br/>'; } /** 输出结果: http://www.xiaoshuo5200.net/html/0/1/index.html=>斗破苍穹 http://www.xiaoshuo5200.net/html/0/1/640748.html=>第一章 五帝破空 */
------解决方案--------------------
<?php $str = <<<EOT <tr class="line"> <td align="center">[玄幻魔法]</td> <td><a href="http://www.xiaoshuo5200.net/html/0/1/index.html">斗破苍穹</a></td> <td><a href="http://www.xiaoshuo5200.net/html/0/1/640748.html" target="_blank">第一章 五帝破空</a></td> <td>天蚕土豆</td> <td>08-01</td> <td align="center">连载</td> <td align="center">1608</td> </tr> EOT; $patten = '/<td( +align *= *"[^"]*")?>(<a *href *= *"([^"]*)"( target="[^"]*")?>)?([^<>]*)(<\/a>)?<\/td>/isU'; preg_match_all($patten,$str,$arr); echo "<pre>"; print_r($arr[3]); print_r($arr[5]); echo "</pre>";