php 去除图片以及DIV的width、height、style,作用:ecshop手机网站调用商品详情
来源:互联网 发布:无尽杀戮网络社区 编辑:程序博客网 时间:2024/05/22 06:31
1.去掉图片的宽高,去掉DIV的style样式
<?php
/*PHP正则提取图片img标记中的任意属性*/
$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';
//去掉图片高度
$search1 = '/(<img.*?)height=(["\'])?.*?(?(2)\2|\s)([^>]+>)/is';
$content = preg_replace($search,'$1$3',$str);
$content = preg_replace($search1,'$1$3',$content);
//去掉div的style
$content = preg_replace("/style=.+?['|\"]/i",'',$content);//这种方式很简单易懂,但因为太简单,不知道有没有漏洞,否则去掉图片的宽高也用这种方法写了
highlight_string($content);
?>
2.如何用php正则去掉得到img标签中的 属性
请问php正则如何去掉得到img标签中的 border属性,例如:<img src="test.gif" border="0" alt="test1" /> 替换后的 <img src="test.gif" alt="test1" />
一开始我就想到要 只去掉border="" 很简单的写出
1
$search
=
'/(<img.*?)(border=".*?")([^>]+\/?>)/is'
;
它只能去掉形如<img src="囧1" border="囧2" />这样的border,一般的 <img>标签会有这样几种含有boder的情况
- <img src="囧1" border="囧2" />
- <img src='囧1' border='囧2' />
- <img src=囧1 border=囧2 />
也就是有符合w3c标准的双引号,还有不符合w3c标准单引号,无引号的情况。想要把他们的border也去掉
于是改成以下的正则:
1
$search
=
'/(<img.*?)border=(["\']).*?\2([^>]+>)/is'
;
此正则只能解决有单、双引号的border,暂时没有解决无引号的
回去翻了以前的文章《获取<a>链接标签。从Snoopy类中提取函数》
看了正则还支持三目运算: (xxx)? (?(分组号) yyy|zzz) 如果xxx不为空 执行yyy,否则执行zzzz
于是改成了此完美最终版本:
1
$search
=
'/(<img.*?)border=(["\'])?.*?(?(2)\2|\s)([^>]+>)/is'
;
终于解决问题了,上一个php例子吧
01
<?php
02
//php过滤img标签中的 border属性
03
$str
= '
04
1、<img src=
"test1.jpg"
border=
"1"
/>
05
2、<img src=\'test2.jpg\' border=\'2\' />
06
3、<img src=test3.jpg border=3 />
07
';
08
$search
=
'/(<img.*?)border=(["\'])?.*?(?(2)\2|\s)([^>]+>)/is'
;
09
$r
= preg_replace(
$search
,
'$1$3'
,
$str
);
10
highlight_string(
$r
);
11
12
//输出:
13
/*
14
1、<img src="test1.jpg" />
15
2、<img src='test2.jpg' />
16
3、<img src=test3.jpg />
17
*/
18
?>
过滤后只是多了一个空格,也不要紧了,已经解决问题了。
enenba原创,转载请保留出处:http://enenba.com/?post=164
3.PHP正则提取或替换img标记属性
<?php
02
03
/*PHP正则提取图片img标记中的任意属性*/
04
$str
=
'<center><img src="/uploads/images/20100516000.jpg" height="120" width="120"><br />PHP正则提取或更改图片img标记中的任意属性</center>'
;
05
06
//1、取整个图片代码
07
preg_match(
'/<\s*img\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i'
,
$str
,
$match
);
08
echo
$match
[0];
09
10
//2、取width
11
preg_match(
'/<img.+(width=\"?\d*\"?).+>/i'
,
$str
,
$match
);
12
echo
$match
[1];
13
14
//3、取height
15
preg_match(
'/<img.+(height=\"?\d*\"?).+>/i'
,
$str
,
$match
);
16
echo
$match
[1];
17
18
//4、取src
19
preg_match(
'/<img.+src=\"?(.+\.(jpg|gif|bmp|bnp|png))\"?.+>/i'
,
$str
,
$match
);
20
echo
$match
[1];
21
22
/*PHP正则替换图片img标记中的任意属性*/
23
//1、将src="/uploads/images/20100516000.jpg"替换为src="/uploads/uc/images/20100516000.jpg")
24
print preg_replace(
'/(<img.+src=\"?.+)(images\/)(.+\.(jpg|gif|bmp|bnp|png)\"?.+>)/i'
,"\${1}uc/images/\${3}",
$str
);
25
echo
"<hr/>"
;
26
27
//2、将src="/uploads/images/20100516000.jpg"替换为src="/uploads/uc/images/20100516000.jpg",并省去宽和高
28
print preg_replace(
'/(<img).+(src=\"?.+)images\/(.+\.(jpg|gif|bmp|bnp|png)\"?).+>/i'
,"\${1} \${2}uc/images/\${3}>",
$str
);
29
30
?>
4.清除html格式,去除html、css、js格式
strip_tags($str) 去掉 HTML 及 PHP 的标记 语法: string strip_tags(string str); 传回值: 字串 函式种类: 资料处理 内容说明 :解析:本函式可去掉字串中包含的任何 HTML 及 PHP 的标记字串。若是字串的 HTML 及 PHP 标签原来就有错,例如少了大于的符号,则也会传回错误。而本函式和 fgetss() 有着相同的功能 PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。 PHP清除html、css、js格式并去除空格的PHP函数 function cutstr_html($string, $sublen)
{
$string = strip_tags($string);
$string = preg_replace ('/\n/is', '', $string);
$string = preg_replace ('/ | /is', '', $string); $string = preg_replace ('/ /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文本)也有截取字符串的功能。
htmlspecialchars 将特殊字元转成 HTML 格式 语法: string htmlspecialchars(string string); 传回值: 字串 函式种类: 资料处理 内容说明 解析:本函式将特殊字元转成 HTML 的字串格式 ( &....; )。最常用到的场合可能就是处理客户留言的留言版了。 & (和) 转成 & " (双引号) 转成 " < (小于) 转成 < > (大于) 转成 > 此函式只转换上面的特殊字元,并不会全部转换成 HTML 所定的 ASCII 转换。
使用范例 <FORM ACTION='./../b'la><H2>Restaurant Description<H2>Name of restaurant:<INPUT TYPE=text NAME="restname" VALUE="<?echo HTMLSpecialChars($restname); ?>"> <!-- 变数 $restname 是酱子的 $restname="\"The White Horse\""; --><BR>输入描述 (若您会 HTML,可直接使用): <BR><TEXTAREA NAME="descript"><?echo HTMLSpecialChars($descript);?></TEXTAREA> <INPUT TYPE=submit></FORM>
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; }
Function ClearHtml($content) {
}
- php 去除图片以及DIV的width、height、style,作用:ecshop手机网站调用商品详情
- php 去除图片以及DIV的width、height、style
- ecshop商品详情里面调用商品相册里面的图片
- canvas标签的width和height以及style.width和style.height的区别
- canvas标签的width和height以及style.width和style.height的区别
- canvas标签的width和height以及style.width和style.height的区别
- HTML5 Canvas 的width/height 与style.width/height
- 在php中用正则表达式删除img标签的width、height、style
- div的width和height属性
- javascript获取div的width、height
- ECSHOP商品详情页调用同一分类下产品
- 图片缩小(width height)
- ECSHOP用户中心的订单详情页显示商品缩略图
- ecshop商品详情页添加任意字段的方法
- ecshop 商品详情页商品放大镜功能
- 商品详情的图片选项展示
- 商品详情的图片放大效果
- div.style.height div.height 区别
- Linux epoll模型
- Lync Server 2013 部署步骤的简单记录
- PHP编程 → php实例 → 正文内容 php导出word格式数据 php导出word格式数据的代码实例
- Ogre启动过程&原理
- 这是在CSDN上的第一篇文章yooooo
- php 去除图片以及DIV的width、height、style,作用:ecshop手机网站调用商品详情
- android的EditText移动光标位置
- 网站群带给电子政务网站的革命性变化
- 整理的比较全的event对像在ie与firefox浏览器中的区别
- Linux信号列表
- Oracle使用describe命令
- ubuntu 安装opencv2.3.1
- Spring 事务属性详解
- linux下 yum下安装SVN