第一次在php中使用正则表达式,如下:
<?php
$str=preg_replace("/alt=\".*?\"/i","alt=\"$title\"",$content);
$str=preg_replace( "/<img.*?style=\"height.*?width.*?px\"/i" ,"<img style=\"width:380px;\"" ,$str);
echo $str;
?>
$content 是phpcms读出的内容页的在线编辑器的内容,第一句目的是 用文章标题代替 原alt的内容;第二句目的是用 新串<img style="width:380px;" 来替换 <img style="height:xxxxpx; width:xxxxpx;" 这样的原串,这样的目的是将img的宽度统一固定为380px,同时不设置高度,来保证图片不太宽,不变形。
php的$str=preg_replace使用正则注意:第一个参数是被替换的串,似乎使用/作为开始和结束符号,串中的双引号加上\转义。/i表示忽略大小写。.*?表示任意字符的(最短)长度;第二个参数表示新串,注意新串中不使用/作为开始和结束符号,新串不能是正则表达式,而应该是一个无歧义的字符串,因为正则表达式代表的是一类字符串。