php正则表达式字符串替换字符
‘壹’ php正则如何匹配替换这样的代码
下面是代码,不懂的加我的QQ245065587
<?php
$str = ',1。,2。,3。'; //要进行正则替换的字符串
$regular = "/,(.*)。,(.*)。,(.*)。/i"; //利用正则表达式反向引用取得相关数
$replacecode = "<a href=\"xx.com/$1\">$1</a> <a href=\"xx.com/$2\">$2</a> <a href=\"xx.com/$3\">$3</a>"; //返回的代码
echo preg_replace($regular, $replacecode, $str); //处理替换,并输出
?>
‘贰’ php 替换指定字符串中,两个字符串之间(包括这两个字符串)之间的内容
这类替换最好不好使用正则表达式,因为你搜索的内容的唯一的无需使用正在,而且替换的文本较大正则效率太低。
方法是找到这两个特殊字符串的位置,然后使用substr删除中间部分,例子代码:
$str='....你要处理的字符串.....';
$s1='...开始字符串...';
$s2='...结束字符串...';
$i1=strpos($str,$s1);//开始位置
$i2=strpos($str,$s2);//结束位置
if ($i1!==false && $i2!==false)//找到
$str=substr($str,0,$i1-1) . substr($str,$i2+strlen($s2));
‘叁’ php正则表达式把西文双引号替换成中文双引号
我来解释下2楼的代码, preg_replace的第一个参数的正则,第二个参数是替换结果,第三个参数是要替换的字符串。
第一个参数'/"([^"]*)"/'的意思是匹配成对出现的双引号内容,()代表引用,[^"]*代表引号内的内容,也就是一个不包含"的任意长度的字符串。
第二个参数'“${1}”'中的${1}使用了第一个参数中的第一个引用,也就是双引号内的内容,所以第二个参数的意思就是将第一个参数的正则匹配到的英文双引号内的内容放到了中文双引号中。
解释完毕。
‘肆’ PHP 正则表达式替换字符
$str="{235大吉大利abc}";
$str=preg_replace("/[a-z,A-Z,0-9]/","*",$str);//替换所有字母和数字为*
echo$str;
‘伍’ 如何用php替换特殊字符及之后的字符串。例如$url中间有空格,我想去掉空格及空格后面的内容
任务:删除字符串空格及其之后的所有内容
方法一:用正则表达式,正则模式为/[\s+].*$/,示例语句:
echo preg_replace('/[\s].*$/', '', $url);
方法二,使用substr,示例语句:
echo substr($url, 0, strpos($url,' '));
‘陆’ PHP正则表达式如何替换像这样的案例的
这个用正则表达式替换是比较简单的,因为有分隔符/,所以把分隔符后面的都替换掉就行了.
<?php
$str="龙门飞甲/龙门飞甲电视剧版";
$regex="~/.*?$~";
echo preg_replace($regex,"",$str);
?>
‘柒’ 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