开发者社区> 问答> 正文

帮忙写一个匹配img的正则表达式:报错

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里全局搜索,所以需要使用在搜索里可以用的正则表达式)

展开
收起
kun坤 2020-06-09 11:05:32 394 0
1 条回答
写回答
取消 提交回答
  • 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];

    ?>

    ######回复 @田振宇 : 判断相同,这个是正则做的事情么?######这里似乎并没有判断是否相同啊?######

    2020-06-09 11:05:38
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载