<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,用不了
<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,用不了
$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);
print_r($match);
<?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里的内容 .
$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];
<span>的呢?我用下面这个输出的是带<span>的,还要再来一次去掉html标记的操作。
preg_match_all("/\<span\>(.*?)<\/span\>/sim",$str,$matches_span);
谢谢,还有一个问题,取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,
http://blog.yctin.com/archives/jquery-php-edition-phpquery/
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;
}