正则表达式的一个问题

makeupfor 2009-10-11 07:18:52
想解析一个网页,

如 <tr> <th>内容1</th> <th>内容2</th> </tr>

我想把内容1和内容2的东西取出来。

$content = "<tr> <th>内容1</th> <th>内容2</th> </tr>"
$rex = "/<th>(.*)<\/th>/i";
preg_match_all($rex, $content, $r);

上述代码好像只能匹配"<th>内容1</th> <th>内容2</th>" 这么一大串的内容,而我应该如何得到内容1和内容2的东西呢?

这个正则表达式应该如何写?

谢谢。
...全文
67 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
blueforyou 2009-10-12
  • 打赏
  • 举报
回复

preg_match_all('/(?<=<th>).*?(?=<\/th>)/',$str,$output);
good_phpchengdu 2009-10-12
  • 打赏
  • 举报
回复


这个哈 :

$preg = "~<th>(.*?)</th>~i";

试试吧
江南昆虫 2009-10-12
  • 打赏
  • 举报
回复
<?php
$content = " <tr> <th>内容1 </th> <th>内容2 </th> </tr>";
$rex = "/<th>(.*) <\/th>/Ui";
preg_match_all($rex, $content, $r);
print_r($r[1]);
?>
MeE 2009-10-12
  • 打赏
  • 举报
回复
正则是对的,preg_match_all的记过是个数组。你print_r($r)即可知道结果。

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧