求一个正则表达式,去掉 <img>里alt的内容,有以下几种格式:
alt=""
alt=
ALT=""
ALT=
以上 正则表达式太菜,请给个具体点例子!3Q

解决方案 »

  1.   

    <?php 
    $str =<<<EOD
    <img href="#" ALT="ceshi" >
    EOD;
    echo htmlspecialchars($str)."<br>";
    echo htmlspecialchars(preg_replace("/(.*)(alt=[\"\']?.*[\"\']?\s+)(.*)/i","\${1}\${3}",$str));//要确保ALT="ceshi"后有空格 否则无法匹配
    ?>
      

  2.   

    echo preg_replace("|(<img*.)(alt=[\"|']?.*['|\"])(.*/?>)|iu","$1$2",$str);
      

  3.   

    $s = '<iMg name="" src="" ALT=111123 />';
    $r = '/(<img.+)(alt=\"?[^" ]*\"?)(.*)/i';
    $p = "\${1}alt=\"\" \$3";echo '<xmp>' . preg_replace($r,$p,$s);