因有一项目新闻发布系统,数据库内容字段中存储的是原图的路径(当然还有其他文字内容啦,内容里插图时,存的是图片路径),但前台想使用缩略图,琢磨1小时余,得到以下结果,可解决问题(取img标签会了,取别的标签任意属性自然也会了):
复制代码 代码如下:
/*正则取图片img标记中的任意属性*/
$word = '
111 22
中国人
';
//取整个图片代码
preg_match('/*img/s+[^>]*?src/s*=/s*(/'|/")(.*?)//1[^>]*?//?/s*>/i',$word,$matches);
echo $matches[0];//结果:
$word = '
111 22
中国人
';
//取width
preg_match('/
/i',$word,$matches);
echo $matches[1];
//取height
preg_match('/
/i',$word,$matches);
echo $matches[1];
//取src
preg_match('/
/i',$word,$matches);
echo $matches[1];
/*正则替换去掉或改变图片img标记中的任意属性***************************************************************/
$str = '
111 22
中国人
31313 224344
1212121
';
//改变src属性(此处将原来的src="http://files.jb51.net/upload/images/bbb.jpg"改变为src="http://files.jb51.net/upload/_thumbs/Images/bbb.jpg")
print preg_replace('/(
)/i',"/${1}_thumbs/Images//${3}",$str);
/*改变src属性,
此处将原来的src="http://files.jb51.net/upload/images/bbb.jpg"改变为src="http://files.jb51.net/upload/_thumbs/Images/bbb.jpg",并舍弃宽和高
(比如你想在前台显示缩略图,但数据库中存储的是原图的路径。为什么要舍弃宽高??你缩略图啊!还是原图的宽高,会怎样???)
*/
print preg_replace('/(
/i',"/${1} /${2}_thumbs/Images//${3}>",$str);
?>
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn