正则表达式怎么得到网址和汉字
//题目说得不是很清楚,汉字?是指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=>第一章 五帝破空
*/
<br /><font color='#e78608'>------解决方案--------------------</font><br />
<dl class='code'>PHP code<pre class="brush:php;toolbar:false;">
<?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 class="brush:php;toolbar:false;">";
print_r($arr[3]);
print_r($arr[5]);
echo "
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号