php正则表达式替换
❶ php正则表达式替换图片地址
<?php
/*PHP正则提取图片img标记中的任意属性*/
$str
=
'<center><img
src="/uploads/images/20100516000.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标记中的任意属性*/
//1、将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/>";
//2、将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);
?>
❷ PHP 字符串替换 正则表达式 preg_match_all 方法
<?php
$a="floor(ceil(TC003*TC003)*price3+floor(20*(TC123+TC101))+(TC213+TC033)*tTC001000+pprice222+tc1)";
$out=preg_replace('/(?:TCd{3}|priced{1})(?!d)/i','1',$a);
echo'<pre>';
print_r($out);
//结果
//floor(ceil(1*1)*1+floor(20*(1+1))+(1+1)*tTC001000+pprice222+tc1)
❸ PHP正则表达式替换函数eregi_replace不起作用
在5.3版的以后的php,比如5.4, 5.5,已经废除了eregi_replace函数
去掉@,用preg_replace替代。
❹ PHP批量替换 php正则表达式 替换问题
你这个需要用工具软件完成了,我一般用dreamweaver
打开DW ,编辑 --查找和替换(Ctrl+F)
选择查找范围 指定到你的目录
查找项 输入 $E = "(.*?)";
替换项 输入 $E = "固定的比如123";
勾选 使用正则表达式 替换全部 即可
❺ PHP 正则表达式如何替换行末指定字符而不替换行首与行末相同的字符
<?php
$pattern='/DVD$/';
$str="灿烂人生DVD";
$str=preg_replace($pattern,'',$str);
var_mp($str);die;
?>
$匹配末尾的字符
❻ php正则替换怎么写
$str = 'fsda[123d]dfa[1[3]2]sdf';
$str = preg_replace('/\[(.*?)\]/','($1)',$str);
echo $str;
/\[(.*?)\]/ 这个是正则表达式。
$0是整个匹配出来的字符串,$1是第一个圆括号里面匹配出来的,所以我们只取圆括号里面匹配到的字符串,再在两边加上圆括号。
不过这个不能对付有嵌套的方括号。
❼ 【PHP】怎样用正则表达式取【】中括号内的内容并替换
这里是下载地址:7vd
.cn/heE(去掉点前空格)
核心代码:
$result
=
mysql_query("SELECT
*
FROM
`query_replace`
WHERE
uid=33",$conn);
$data
=
mysql_fetch_assoc($result);
$html='[email]你好:你于[time]设置了[action]';
$keys
=
array_keys($data);
$keys_string
=
'['.implode('],[',$keys).']';
$replace
=
explode(',',$keys_string);
$html
=
str_replace($replace,array_values($data),$html);
❽ PHP正则表达式如何替换掉某字
<?php
$string='倚天屠龙记2019版粤语版';
$pattern='/版$/';
$replacement='';
echopreg_replace($pattern,$replacement,$string);
?>
$pattern='/版$/';正则表达式,匹配最后一个字是版.匹配第一个'版'。'/版/'。匹配所有的版'/版/g'。
$replacement='';用来替换的内容,去掉就是替换为空字符串。
更多需求查看php正则表达式教程网页链接
❾ php 正则表达式匹配一个字符串的多个值 然后逐一替换掉里面的 不全部替换成一个
举个例子给你看看是不是你想要的。
有个字符串“abcadeafg”,把其中的三个字母a分别替换成x,y,z:
$pattern=array('/a/','/a/','/a/');
$replacement=array('x','y','z');
$subject='abcadeafg';
$res=preg_replace($pattern,$replacement,$subject,1);
echo$res;//xbcydezfg
❿ php如何进行正则替换
按照你的要求把h后的数字和w后的任意数字替换成固定数的php程序如下
<?php
$fix='555';//固定数
$str='asdasda/w/100/h/200/q/sdasdsad';
$regex1="~h/[0-9]+~";
$result=preg_replace($regex1,"h/".$fix,$str);
$regex2="~w/[0-9]+~";
$result=preg_replace($regex2,"w/".$fix,$result);
print_r($result);
?>
运行结果
asdasda/w/555/h/555/q/sdasdsad