php 去除图片以及DIV的width、height、style

转载 2016年08月31日 13:56:51

1.去掉图片的宽高,去掉DIV的style样式

$str = '<div style="margin: 0px auto; width: 740px;"> <p><img width="748" height="444" alt="" src="/images/upload/Image/manmiao_0001.jpg" /></p></div>';

//去掉图片宽度
$search = '/(<img.*?)width=(["\'])?.*?(?(2)\2|\s)([^>]+>)/is';
echo preg_replace($search,'$1$3',$str);
$search1 = '/(<img.*?)height=(["\'])?.*?(?(2)\2|\s)([^>]+>)/is';   //去除图片的高度
echo  preg_replace($search1,'$1$3',$str);

$str = '<div style="margin: 0px auto; width: 740px;"> <p><img width="748" height="444" alt="" src="1.jpg" /></p></div>';
echo preg_replace("/style=.+?['|\"]/i",'',$str);          //去除style样式

2.如何用php正则去掉得到img标签中的 属性

请问php正则如何去掉得到img标签中的 border属性,例如:<img src=”test.gif” border=”0″ alt=”test1″ />   替换后的  <img src=”test.gif” alt=”test1″ />

<?php

//php过滤img标签中的 border属性
$str = '
<img src="test1.jpg" border="1" />
<img src=\'test2.jpg\' border=\'2\' />
<img src=test3.jpg border=3 />';
$search = '/(<img.*?)border=(["\'])?.*?(?(2)\2|\s)([^>]+>)/is';
echo preg_replace($search,'$1$3',$str);
//highlight_string($r);
	 
//输出:
/*
<img src="test1.jpg"  />
<img src='test2.jpg'  />
<img src=test3.jpg />
*/
?>

3.PHP正则提取或替换img标记属性

/*PHP正则提取图片img标记中的任意属性*/
$str = '<center><img src="1.jpg" height="120" width="120"><br />PHP正则提取或更改图片img标记中的任意属性</center>';
//1、取整个图片代码
preg_match('/<\s*img\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i',$str,$match);
echo $match[0];

//2、取width
preg_match('/<img.+(width=\"?\d*\"?).+>/i',$str,$match);
echo $match[1];

//3、取height
preg_match('/<img.+(height=\"?\d*\"?).+>/i',$str,$match);
echo $match[1];
//4、取src
preg_match('/<img.+src=\"?(.+\.(jpg|gif|bmp|bnp|png))\"?.+>/i',$str,$match);
echo $match[1];

/*PHP正则替换图片img标记中的任意属性*/
//将src="/uploads/images/20100516000.jpg"替换为src="/uploads/uc/images/20100516000.jpg")
print preg_replace('/(<img.+src=\"?.+)(images\/)(.+\.(jpg|gif|bmp|bnp|png)\"?.+>)/i',"\${1}uc/images/\${3}",$str);
echo "<hr/>";

//将src="/uploads/images/20100516000.jpg"替换为src="/uploads/uc/images/20100516000.jpg",并省去宽和高
print preg_replace('/(<img).+(src=\"?.+)images\/(.+\.(jpg|gif|bmp|bnp|png)\"?).+>/i',"\${1} \${2}uc/images/\${3}>",$str);

 htmlentities 将所有的字元都转成 HTML 字串 
语法: string htmlentities(string string); 
传回值: 字串 
函式种类: 资料处理 
内容说明 
解析:本函式有点像 htmlspecialchars() 函式,但本函式会将所有 string 的字元都转成 HTML 的特殊字集字串。不过在转换后阅读网页原始码的方面,会有很多困扰,尤其是网页原始码的中文字会变得不知所云,浏览器上看到的还是正常的。
php 去除html标签 js  css样式 - 最爱用的一个PHP清楚html格式函数
Function ClearHtml($content) {  
   $content = preg_replace("/<a[^>]*>/i", "", $content);  
   $content = preg_replace("/<\/a>/i", "", $content);   
   $content = preg_replace("/<div[^>]*>/i", "", $content);  
   $content = preg_replace("/<\/div>/i", "", $content);      
   $content = preg_replace("/<!--[^>]*-->/i", "", $content);//注释内容
   $content = preg_replace("/style=.+?['|\"]/i",'',$content);//去除样式  
   $content = preg_replace("/class=.+?['|\"]/i",'',$content);//去除样式  
   $content = preg_replace("/id=.+?['|\"]/i",'',$content);//去除样式     
   $content = preg_replace("/lang=.+?['|\"]/i",'',$content);//去除样式      
   $content = preg_replace("/width=.+?['|\"]/i",'',$content);//去除样式   
   $content = preg_replace("/height=.+?['|\"]/i",'',$content);//去除样式   
   $content = preg_replace("/border=.+?['|\"]/i",'',$content);//去除样式   
   $content = preg_replace("/face=.+?['|\"]/i",'',$content);//去除样式   
   $content = preg_replace("/face=.+?['|\"]/",'',$content);//去除样式只允许小写正则匹配没有带 i 参数
   return $content;
}

 strip_tags($str) 去掉 HTML  PHP 的标记
语法: string strip_tags(string str); 
传回值: 字串 
函式种类: 资料处理 
内容说明 :
解析:本函式可去掉字串中包含的任何 HTML  PHP 的标记字串。若是字串的 HTML  PHP 标签原来就有错,例如少了大于的符号,则也会传回错误。而本函式和 fgetss() 有着相同的功能
 
PHP去除htmlcss样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了
经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js PHP函数。
 
PHP清除htmlcssjs格式并去除空格的PHP函数
 
function cutstr_html($string, $sublen)    
 {
  $string = strip_tags($string);
  $string = preg_replace ('/\n/is', '', $string);
  $string = preg_replace ('/ | /is', '', $string);
  $string = preg_replace ('/&nbsp;/is', '', $string);
  
  preg_match_all("/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/", $string, $t_string);   
  if(count($t_string[0]) - 0 > $sublen) $string = join('', array_slice($t_string[0], 0, $sublen))."…";   
  else $string = join('', array_slice($t_string[0], 0, $sublen));
  
  return $string;
 }
解析:这个函数既有去除html标签、css样式、js、空格等格式的功能(格式化html文本)也有截取字符串的功能。

 /**
     * 过滤HTML代码空格,回车换行符的函数
     * @param $str
     * @return mixed|string
     */
    public static function deleteHtml($str){
        $str = trim($str);
        $str = strip_tags($str,"");
        $str = strtr($str, array(' '=>''));
        $str = strtr($str, array(' '=>''));
        $str = str_replace(array("\r\n", "\r", "\n","\t","&nbsp;"," "), "", $str);
        return $str;
    }

相关文章推荐

php 去除图片以及DIV的width、height、style,作用:ecshop手机网站调用商品详情

1.去掉图片的宽高,去掉DIV的style样式 /*PHP正则提取图片img标记中的任意属性*/ $str = ' '; //去掉图片宽度 $search = '/(]+>)/is'; //去...

在php中用正则表达式删除img标签的width、height、style

在php中用正则表达式删除img标签的width、height和style

彻底去掉html中带的element.style样式

有时候在写css时,显示效果会出现非常诡异的效果 不知道有没有遇到这种 css: #logo{ border: solid 1px blue; } html:  logo ...
  • xst686
  • xst686
  • 2012年11月29日 10:01
  • 14889

php使用正则去除宽高样式

本文将介绍使用php正则,去除html中宽高样式的方法,提供完整实例代码。
  • fdipzone
  • fdipzone
  • 2017年05月30日 17:40
  • 15689

php 去除html标签 和 css样式

$content = preg_replace("/]*>/i", "", $content);     $content = preg_replace("//i", "", $content);  ...

php正则提取html图片(img)src地址与任意属性

简单版:

Linux下查看MySQL的安装路径

Linux下查看mysql、apache是否安装,并卸载。 指令 ps -ef|grep mysql 得出结果 root     17659     1  0  2011 ?       ...

js取得DIV的top,left,width,height值.doc

  • 2009年08月08日 09:51
  • 24KB
  • 下载

Html canvas的width、height与在style中设置宽高的区别

转自 http://www.mamicode.com/info-detail-1663492.html 转自 http://www.cnblogs.com/JamKong/p/4987163.htm...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:php 去除图片以及DIV的width、height、style
举报原因:
原因补充:

(最多只允许输入30个字)