Heim  >  Artikel  >  Backend-Entwicklung  >  php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)_PHP教程

php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)_PHP教程

WBOY
WBOYOriginal
2016-07-21 14:59:06798Durchsuche

因有一项目新闻发布系统,数据库内容字段中存储的是原图的路径(当然还有其他文字内容啦,内容里插图时,存的是图片路径),但前台想使用缩略图,琢磨1小时余,得到以下结果,可解决问题(取img标签会了,取别的标签任意属性自然也会了):

复制代码 代码如下:

/*正则取图片img标记中的任意属性*/

$word = '

111 22

php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)_PHP教程
中国人
';
//取整个图片代码
preg_match('/*img/s+[^>]*?src/s*=/s*(/'|/")(.*?)//1[^>]*?//?/s*>/i',$word,$matches);
echo $matches[0];//结果:php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)_PHP教程

$word = '

111 22

php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)_PHP教程
中国人
';
//取width
preg_match('/php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)_PHP教程/i',$word,$matches);
echo $matches[1];

//取height
preg_match('/php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)_PHP教程/i',$word,$matches);
echo $matches[1];

//取src
preg_match('/php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)_PHP教程/i',$word,$matches);
echo $matches[1];

/*正则替换去掉或改变图片img标记中的任意属性***************************************************************/
$str = '

111 22

php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)_PHP教程
中国人

31313 224344

php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)_PHP教程
1212121
';

//改变src属性(此处将原来的src="http://files.jb51.net/upload/images/bbb.jpg"改变为src="http://files.jb51.net/upload/_thumbs/Images/bbb.jpg")
print preg_replace('/(php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)_PHP教程)/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('/(php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)_PHP教程/i',"/${1} /${2}_thumbs/Images//${3}>",$str);
?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/328177.htmlTechArticle因有一项目新闻发布系统,数据库内容字段中存储的是原图的路径(当然还有其他文字内容啦,内容里插图时,存的是图片路径),但前台想使用缩...
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