如何取的属性alt里的数据?

BILLSSJONE 2009-09-26 06:03:06
<img src="/photos/169.jpeg" border="0" alt="Imagine" width="150" height="170" />
<span>Everybody Plays</span>

<img src="/photos/170.jpeg" border="0" alt=""Great Hall"" width="150" height="170" />
<span>Community</span>
=================
有多个img如何用正则取得所有alt的值?
还有取得所有<span>里的数据,如<span>Everybody Plays</span>把Everybody Plays取出来
怎么写正则?我找了一此取src的正则换成alt,用不了
...全文
240 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
an9ryfr09 2009-09-27
  • 打赏
  • 举报
回复

var reg = new RegExp("alt\s*=\s*[\"\']?([^\"\'\s]+).+[\r\n]<span>([^<\/]+)","igm");
var t=1;
while ((rs = reg.exec(html)) != null){
document.writeln(t+':<br/>');
document.writeln('src=:'+rs[1]+'<br/>');
document.writeln('span=:'+rs[2]+'<br/>');
++t;
}
BILLSSJONE 2009-09-27
  • 打赏
  • 举报
回复
是我输出写出,我写成$matches_span[0][$keys],所以是整个字符串,应该写成$matches_span[1][$keys]
谢谢,

还有一个问题,取src的值,
preg_match_all("/<img.+src=\"?(.+\.(jpg|jpeg|jpg|gif|bmp|bnp|png))\"?.+>/i",$str,$matches);
preg_match_all( '~<img.*src=(?:"|\'|)(.+\.\w{3,4})~isU', $str, $matches);
这两个都有点问题,
第一个发现有些img取不到,看了一下捉取的页面中的这个img和其它img的区别,好象是因为alt内容有分行。
第二个能取到全部img的src,但第一个数组元素输出中没有整个模式的字符串,因为我除了要src还要整个img字符串再来拿里面的alt,
BILLSSJONE 2009-09-27
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 jakey9826 的回复:]
PHP code$str=' <img src="/photos/small_6_180.jpg" border="0" alt="Wyoming Seminary" width="150" height="113" /> <br>';preg_match("/alt\s*=\s*[\"\']([^\"\']+)[\"\']/i",$str,$matches);echo$matches[1];
[/Quote]
谢谢,这个可以,
<span>的呢?我用下面这个输出的是带<span>的,还要再来一次去掉html标记的操作。
preg_match_all("/\<span\>(.*?)<\/span\>/sim",$str,$matches_span);
程序猿之殇 2009-09-27
  • 打赏
  • 举报
回复

$str=' <img src="/photos/small_6_180.jpg" border="0" alt="Wyoming Seminary" width="150" height="113" /> <br>';
preg_match("/alt\s*=\s*[\"\']([^\"\']+)[\"\']/i", $str,$matches);
echo $matches[1];
BILLSSJONE 2009-09-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hittlle 的回复:]
正则:
  $str = ' <img alt="这是提示文字" src="test.gif"/>';
  preg_match('|alt\s*=\s*".*"|',$str,$match);
  print_r($match);
Javascript:
  var alt = document.getElementById("imgId").alt;
  alert(alt);
[/Quote]
不准确啊,
<?php
$str='<img src="/photos/small_6_180.jpg" border="0" alt="Wyoming Seminary" width="150" height="113" /><br>
preg_match('|alt\s*=\s*".*"|', $str,$matches);
echo $matches[0];
?>
下面是输出结果:
alt="Wyoming Seminary" width="150" height="113"
好多东西,我只要alt里的内容 .
该昵称很风骚 2009-09-26
  • 打赏
  • 举报
回复
正则
YHL27 2009-09-26
  • 打赏
  • 举报
回复
study!
hittlle 2009-09-26
  • 打赏
  • 举报
回复
取span中的值

preg_match('|<span>\s*.*\s*</span>|',$target,$match);
print_r($match);
hittlle 2009-09-26
  • 打赏
  • 举报
回复
正则:
$str = '<img alt="这是提示文字" src="test.gif"/>';
preg_match('|alt\s*=\s*".*"|',$str,$match);
print_r($match);
Javascript:
var alt = document.getElementById("imgId").alt;
alert(alt);
BILLSSJONE 2009-09-26
  • 打赏
  • 举报
回复
我要用php获取的
清风闲客 2009-09-26
  • 打赏
  • 举报
回复
Jquery

21,886

社区成员

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

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