这个正则表达式如何写啊?

nenuxjms 2008-04-02 12:34:26
我已经把如下的内容存放到了变量$content中:
<a href="495662.html"title="更新时间:2008-3-5 2:28:00
更新字数:3348">第一章 我没有姓 </a>

<a href="495663.html"title="更新时间:2008-3-5 2:28:00
更新字数:3483">第二章 有贼胆没贼心 </a>

<a href="495664.html"title="更新时间:2008-3-5 2:28:00
更新字数:3052">第三章 一顾倾人城 </a>

<a href="495665.html"title="更新时间:2008-3-5 2:28:00
更新字数:2721">第四章 蛰伏的血性 </a>

<a href="495666.html"title="更新时间:2008-3-5 2:28:00
更新字数:3118">第五章 扮猪吃老虎 </a>


其实中间还有很多其他内容,只是上面这样类似的是有规则的,要在里面提取需要的内容
<a href="XXX.html"title="更新时间:XXX
更新字数:XXX">XXX </a>

各个有规则的部分,其他完全相同,只有XXX不同,我怎么样分组提取.html前XXX(即章节编号),以及最后一个 </a>前面的XXX,(即章节名称),因为他们是对应的,所以我想对应的显示出来,我查过资料,说要用preg_match_all函数和正则规则,但是刚接触,有难度,请高手指点一下啊。
...全文
129 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunfan1010 2008-04-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 JlinShu 的回复:]
<?php
header("Content-Type:text/html;charset=utf-8");

$content = ' <a href="495662.html"title="更新时间:2008-3-5 2:28:00
更新字数:3348">第一章 我没有姓 </a>

<a href="495663.html"title="更新时间:2008-3-5 2:28:00
更新字数:3483">第二章 有贼胆没贼心 </a>

<a href="495664.html"title="更新时间:2008-3-5 2:28:00
更新字数:3052">第三章 一顾倾人城 </a>

<a href="4956…
[/Quote]
是这样滴,楼下没有必要发啦.
striker_un 2008-04-02
  • 打赏
  • 举报
回复
呵呵,正则已是廉价技术了,经常搞搞抓取,搞搞替换什么的。
playboy001 2008-04-02
  • 打赏
  • 举报
回复
"/ <a.*?href=\"(.*?)\.html\".*?>(.*?) <\/a>/is"
这个正在表达式配置的字符串举个例子,让小弟学习一下
JlinShu 2008-04-02
  • 打赏
  • 举报
回复
你是想用来采集吧?
JlinShu 2008-04-02
  • 打赏
  • 举报
回复
<?php
header("Content-Type:text/html;charset=utf-8");

$content = '<a href="495662.html"title="更新时间:2008-3-5 2:28:00
更新字数:3348">第一章 我没有姓 </a>

<a href="495663.html"title="更新时间:2008-3-5 2:28:00
更新字数:3483">第二章 有贼胆没贼心 </a>

<a href="495664.html"title="更新时间:2008-3-5 2:28:00
更新字数:3052">第三章 一顾倾人城 </a>

<a href="495665.html"title="更新时间:2008-3-5 2:28:00
更新字数:2721">第四章 蛰伏的血性 </a>

<a href="495666.html"title="更新时间:2008-3-5 2:28:00
更新字数:3118">第五章 扮猪吃老虎 </a>';

preg_match_all("/<a.*?href=\"(.*?)\.html\".*?>(.*?)<\/a>/is",$content,$pArr);

$a1 = $pArr[1];
$a2 = $pArr[2];

for($i=0;$i<count($a1);$i++)
{
echo $a1[$i].'<br>';
}

echo '-----------------------------------------<br>';

for($i=0;$i<count($a2);$i++)
{
echo $a2[$i].'<br>';
}
?>
zmouki 2008-04-02
  • 打赏
  • 举报
回复
不知道你要的是不是这样的效果?

<?php
header("Content-Type:text/html;charset:UTF-8");
$content='<a href="495662.html"title="更新时间:2008-3-5 2:28:00 更新字数:3348">hello world</a>';
$newcontent=preg_match_all("|<[^>]+>(.*)</[^>]+>|",'<a href="495662.html"title="更新时间:2008-3-5 2:28:00 更新字数:3348">hello world</a>',$out);
echo $out[1][0];
?>

21,886

社区成员

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

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