本文目录一览:
- 1、php 正则判断img标签
- 2、php正则匹配img标签,并删除
- 3、php中正则匹配img标签,并且替换了。
- 4、php 正则替换img路径
- 5、如何取出img标签的正则表达式(php)
- 6、php 正则替换所有img标签并且去掉多余属性
php 正则判断img标签
$content = 'img src="1.jpg" alt=""我是文字img src="2.jpg" alt=""';
if (preg_match_all ( "/img[^]*src[=\"\'\s]+([^\"\']*)[\"\']?[^]*((?:(?!img\b)[\s\S])*)/i", $content, $m )) {
for($j = 1; $j count ( $m ); $j ++) {
for($i = 0; $i count ( $m [$j] ); $i ++) {
echo $m [$j] [$i] . "\n";
}
}
}
php正则匹配img标签,并删除
$str = 'alksdfjlaksjimg src="21412"';
$str = strip_tags($str,'img');
echo $str;
php中正则匹配img标签,并且替换了。
你看看这个吧:
?php
function change_str($string)
{
preg_match_all('|(.*)src="(.*)"(.*)|isU',$string,$main);
$newstring = "";
foreach($main[1] as $key = $value )
{
$newstring .= $value;
if (strpos($main[2][$key],".jpg") or strpos($main[2][$key],".gif") )
{
if ( strpos($main[2][$key],"http://") === false )
$main[2][$key] = "http://".$main[2][$key];
}
$newstring .= 'src="'.$main[2][$key].'"';
$newstring .= $main[3][$key];
}
return $newstring;
}
$mystr = "";//你的字符串;
echo change_str($mystr);
?
php 正则替换img路径
思路是,读取CSS样式文件,正则取出所有url路径;然后,再用copy和unlink更换路径。代码如下:
?php
$str=file_get_contents("layout.css");
preg_match_all("/url\((.*)\) /",$str,$out);
foreach($out[1] as $v){
$new=str_replace("../pic","img",$v);//设置新路径
if(file_exists($v)){//判断是否存在
copy($v,$new);//复制到新目录
unlink($v);//删除老文件
}else{
echo $v."br/";//如果不存在,就输出文件目录+文件名
}
}
?
你可以去后盾人平台看看,里面有很多学习视频,还有线上直播,我也在那里学习
如何取出img标签的正则表达式(php)
下面我提供点写法:
?php
$html='img src="/Cms/Upload/image/20140912/20140912041822_11373.png" alt="" /
img src="/Cms/Upload/image/20140912/20140912041822_11373.png" alt="" width="233" /
img src="/Cms/Upload/image/20140912/20140912041822_11373.png" alt="" height="400" /
';
$trip=array('width','height');//过滤的标签,这个根据需要修改
preg_match_all('/img[^]*\/',$html,$match);//匹配img标签
$res=array();//结果存放
foreach($match[0] as $val)
{
$flag=true;//是否满足条件
foreach($trip as $s)
{
if(preg_match('/'.$s.'/',$val))//查到在过滤的标签中,不满足条件
{
$flag=false;
break;
}
}
if($flag)
{
preg_match_all('/image[^\"]*"/',$val,$temp);//满足条件取出类似image/20140912/20140912041822_11373.png"这一段
$res[]=substr(substr($temp[0][0],0,-1),6);//取出类似20140912/20140912041822_11373.png这一段,并存放到结果数组中
}
}
var_dump($res);
?
php 正则替换所有img标签并且去掉多余属性
//写的一个正则,你试试
preg_replace("/img\s*src=(\"|\')(.*?)\\1[^]*/is",'img src="$2" /', $str)