读书人

正则表达式如何得到网址和汉字

发布时间: 2012-04-01 17:23:46 作者: rapoo

正则表达式怎么得到网址和汉字
<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>


[解决办法]

PHP code
//题目说得不是很清楚,汉字?是指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 code
<?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>"; 

读书人网 >PHP

热点推荐