1.<img src="images/bottom.jpg" alt="bottom" width="620" height="324" />
2.<img src="images/bottom.jpg" alt="hello.jpg" width="620" height="324" />
如上 我相匹配一下HTML中的 img符合一下四个条件的
1.alt的名称是英文
2.不是图片名称的(如1)
3.alt不等于"hello"的
4.alt 不为空
请问可以实现么,如果可以实现请问如何写呢?(我是想在dreamweaver里全局搜索,所以需要使用在搜索里可以用的正则表达式)
img符合一下三个条件的 下面好像是四个条件啊。######那就是四个.###### 第2个条件单纯一个正则表达式解决不了,需要用脚本来解决。
1,3,4条件可以用正则解决。 ######你还是用代码解决吧,一个正则解决够呛 一次读取一行代码出来, 1.过滤出图片名称和alt后的字符串进行比较,符合条件进行第2步 2.监测alt的字符串是否等于hello 3.用正则过滤alt为英文和不为空的条件 其实1条件限制alt的名称是英文就说明肯定不会为空了######如果使用php的话,可否提供一个思路######我来,正则肯定可以搞定!######如果可以的话 那太谢谢了, img的路径有可能是不同的 比如../images/a/图片名.jpg(或者gif)######
<?php
$str1 = '<img src="images/bottom.jpg" alt="bottom" width="620" />'; $str2 = '<img src="images/bottom.jpg" alt="464564" height="324" />'; $str3 = '<img src="images/bottom.jpg" alt="hello" height="324" />'; $str4 = '<img src="images/bottom.jpg" alt="bottom.jpg" width="620" />';
preg_match('/<img.alt=(?="(?!hello)[a-zA-Z]+")./>/', $str1, $array1); preg_match('/<img.alt=(?="(?!hello)[a-zA-Z]+")./>/', $str2, $array2); preg_match('/<img.alt=(?="(?!hello)[a-zA-Z]+")./>/', $str3, $array3); preg_match('/<img.alt=(?="(?!hello)[a-zA-Z]+")./>/', $str4, $array4);
echo $array1[0]; echo $array2[0]; echo $array3[0]; echo $array4[0];
?>
######回复 @田振宇 : 判断相同,这个是正则做的事情么?######这里似乎并没有判断是否相同啊?######版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。