正则表达式的问题?

wft1987 2010-07-15 09:52:50
我想取一个网页的新闻的标题 标题的代码如下:
<h1>·<a href='http://it.sohu.com/20100715/n273520447.shtml' target='_blank'>“学历门”引爆精英诚信危机 有价文凭风行内地</a><span>(07/15 09:17)</span></h1>

我现在用正则
$preg = "#<h1>·<a href='(.*)' target='_blank'>(.*)</a><span>#iUs";
取出来为空

$preg = "#<a href='(.*)' target='_blank'>(.*)</a><span>#iUs";
倒是能取出来 但是取出来的却不是我想要的
...全文
85 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
life169 2010-07-16
  • 打赏
  • 举报
回复
问 楼上 *后面为什么要跟? 好像问号是多余的呀,能解释下吗?
houhxyanzi 2010-07-16
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 life169 的回复:]
问 楼上 *后面为什么要跟? 好像问号是多余的呀,能解释下吗?
[/Quote]
*后边?这个表示匹配到第一个就结束了,也就是非贪婪的
床上等您 2010-07-15
  • 打赏
  • 举报
回复
出来就行了,多动手,比问出来强很多。
顺便接个分。
wft1987 2010-07-15
  • 打赏
  • 举报
回复
搞出来了,
$preg = "#<h1>(.*)<a href='(.*)' target='_blank'>(.*)</a><span>#iUs";

这样就行了
wft1987 2010-07-15
  • 打赏
  • 举报
回复
下面的是能取出来 我要的只是标题和连接 用下面的代码取出来把内容也给取出来了
kyzy_yy_pm 2010-07-15
  • 打赏
  • 举报
回复
不是出来了么
Dleno 2010-07-15
  • 打赏
  • 举报
回复

preg_match_all('~<h1[^>]*?>·<a[^>]*?href="(.*?)"[^>]*?>(.*?)</a><span[^>]*?>(.*?)</span></h1>~is',$str,$data);
print_r($data);
liuahuilele 2010-07-15
  • 打赏
  • 举报
回复
哈哈 搞定 就结了吧
sindel 2010-07-15
  • 打赏
  • 举报
回复
·难道是特殊字符?

接分吧

21,893

社区成员

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

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