正则表达式的问题?

y_z_c 2004-04-16 04:07:19
怎样把htm字符串中的
<a href="example.htm"><font>adfsafasffs</font></a>
提取出来
假定:
每个<a...></a>中有象<font></font>的符号
我用过eregi("<a([^>]*)>([^</a>]*)</a>",$htm,$link)
结果提取不出来!
那位高手可以为我解惑?谢谢了!
...全文
40 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccterran 2004-04-17
  • 打赏
  • 举报
回复
楼上的只能提取一个
cokeyang 2004-04-17
  • 打赏
  • 举报
回复
eregi("<a([^>].*)>([^</a>].*)</a>",$htm,$link);

试试看!

ccterran 2004-04-16
  • 打赏
  • 举报
回复
说反了,不好意思。面壁中。。。。
cloudchen 2004-04-16
  • 打赏
  • 举报
回复
应该是POSIX的PERL的慢,就算是PERL也不要用POSIX,PERL的通用性高。


再说了php在这两种不同的正则表达式中的函数库中就是PERL兼容的功能强
ccterran 2004-04-16
  • 打赏
  • 举报
回复
别晕,人家没有学过POSIX风格的正则表达式
52juanjuan 2004-04-16
  • 打赏
  • 举报
回复
这个也不会晕~
ccterran 2004-04-16
  • 打赏
  • 举报
回复
建议少用PERL风格的正则表达式,要比POSIX的慢很多。
ccterran 2004-04-16
  • 打赏
  • 举报
回复
preg_match_all("'<a href=(.+)</a>'isU",$htm,$m);
$link=$m["0"];
print_r($link);
coastcdl 2004-04-16
  • 打赏
  • 举报
回复
用这个试试
<a.*href=\"(.+)\".*>.*<\/a>
y_z_c 2004-04-16
  • 打赏
  • 举报
回复
伤心.....POSIX有没有同样的语法啊!
AccountDemander at gmx dot de
01-Dec-2003 02:10
It's always been a great problem to exclude whole strings. It's easy to exclude a single characters by [^jkhsd], but you cannot exclude whole strings that way... you think!

Here's an easy way to exclude strings:
$s = "string to exclude";
preg_match("/[^" . $s . "]/", $string);
Hope this might help... .
y_z_c 2004-04-16
  • 打赏
  • 举报
回复
我的问题的关键是怎样验证一个字符串
不含有另一个字符串

21,886

社区成员

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

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