php正则替换字符串
❶ 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 正则表达式匹配一个字符串的多个值 然后逐一替换掉里面的 不全部替换成一个
举个例子给你看看是不是你想要的。
有个字符串“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正则式去除字符串中最后一个斜杠及之后的内容
可以参考下面的两种方法:
1、var s = '一句话描/述(您的)/疑问/123一二三abc';
s.replace(/(.*)/{1}.*/, '$1'); //标准模式下,.*会自动匹配到最后一个位置
//输出 "一句话描/述(您的)/疑问"
2、$str = '一句话描/述(您的)疑问/123一二三abc';
$str = preg_replace('/(.*)/{1}([^/]*)/i', '$1', $str);
echo $str;
(3)php正则替换字符串扩展阅读:
PHP正则表达式中的参考函数:
pattern: 要搜索的模式,字符串类型。
subject:输入字符串。
match: 如果提供了参数matches,它将被填充为搜索结果,数据结构为一维数组。
flags: 可以设置为PREG_OFFSET_CAPTURE,使用搜索结果的第0个元素为匹配的字符串,第1个元素为对应的偏移量(位置)
offset: 搜索从目标字符串的起始位置开始匹配。
pattern:要搜索的模式。可以是一个字符串或字符串数组。
replacement:用于替换的字符串或字符串数组