PHP删除字符串中多个字符,想一次性去除。如一次去除 abc 与 123
<?php$string='abcdfgab110123';$string2=preg_replace('/abc/','',$string);//去掉中间的abc字符串...
<?php
$string = 'abcdfgab110123';
$string2 = preg_replace('/abc/','',$string); //去掉中间的abc字符串
echo $string2;
?>
但我还想把中间的 123 去掉
<?php
$string = 'abcdfgab110123';
$string2 = preg_replace('/123/','',$string); //去掉中间的abc字符串
echo $string2;
?>
我需要做成一次执行, 因为数组太多,需要去掉的字符串也多。 想提高效率精简代码
类似如这功能:
$string2 = preg_replace('/123 和 abc /','',$string);
或是 从多个数组中 一起 去除 123 再一起去除 abc
我该怎么实现?
谢谢帮助。 展开
$string = 'abcdfgab110123';
$string2 = preg_replace('/abc/','',$string); //去掉中间的abc字符串
echo $string2;
?>
但我还想把中间的 123 去掉
<?php
$string = 'abcdfgab110123';
$string2 = preg_replace('/123/','',$string); //去掉中间的abc字符串
echo $string2;
?>
我需要做成一次执行, 因为数组太多,需要去掉的字符串也多。 想提高效率精简代码
类似如这功能:
$string2 = preg_replace('/123 和 abc /','',$string);
或是 从多个数组中 一起 去除 123 再一起去除 abc
我该怎么实现?
谢谢帮助。 展开
展开全部
用strtr
strtr() 函数转换字符串中特定的字符。
语法
strtr(string,from,to)
或者
strtr(string,array)
这里用第二种语法就可以了,将要替换的内容写入一个数组中然后处理,比如:
$replace = array(
'abc' => '',
'123' => ''
);
$string2 = strtr($string, $replace);
也可以直接写成一行:
$string2 = strtr($string,
$replace = array( 'abc' => '', '123' => ''));
另外顺便提一下,没必要用preg_replace,preg_replace是用来正则替换的,你根本没用正则表达式,以后没特殊需要用str_replace就好了,比如$string2 = str_replace('abc', '', $string);
strtr() 函数转换字符串中特定的字符。
语法
strtr(string,from,to)
或者
strtr(string,array)
这里用第二种语法就可以了,将要替换的内容写入一个数组中然后处理,比如:
$replace = array(
'abc' => '',
'123' => ''
);
$string2 = strtr($string, $replace);
也可以直接写成一行:
$string2 = strtr($string,
$replace = array( 'abc' => '', '123' => ''));
另外顺便提一下,没必要用preg_replace,preg_replace是用来正则替换的,你根本没用正则表达式,以后没特殊需要用str_replace就好了,比如$string2 = str_replace('abc', '', $string);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用strtr
strtr() 函数转换字符串中特定的字符。
语法
strtr(string,from,to)
或者
strtr(string,array)
这里用第二种语法就可以了,将要替换的内容写入一个数组中然后处理,比如:
$replace = array(
'abc' => '',
'123' => ''
);
$string2 = strtr($string, $replace);
也可以直接写成一行:
$string2 = strtr($string,
$replace = array( 'abc' => '', '123' => ''));
另外顺便提一下,没必要用preg_replace,preg_replace是用来正则替换的,你根本没用正则表达式,以后没特殊需要用str_replace就好了,比如$string2 = str_replace('abc', '', $string);
strtr() 函数转换字符串中特定的字符。
语法
strtr(string,from,to)
或者
strtr(string,array)
这里用第二种语法就可以了,将要替换的内容写入一个数组中然后处理,比如:
$replace = array(
'abc' => '',
'123' => ''
);
$string2 = strtr($string, $replace);
也可以直接写成一行:
$string2 = strtr($string,
$replace = array( 'abc' => '', '123' => ''));
另外顺便提一下,没必要用preg_replace,preg_replace是用来正则替换的,你根本没用正则表达式,以后没特殊需要用str_replace就好了,比如$string2 = str_replace('abc', '', $string);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建议你重写个,再方法里面循环替换即可
$string = preg_replaceAll(array(123,'abc'),'',$string);
function preg_replaceAll($arr,$string){
foreach($arr as $val){
$string = preg_replace($val,'',$string);
}
return $string;//返回数组
}
$string = preg_replaceAll(array(123,'abc'),'',$string);
function preg_replaceAll($arr,$string){
foreach($arr as $val){
$string = preg_replace($val,'',$string);
}
return $string;//返回数组
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$arr = array('123','abc');
$str = 'abcdfgab110123';
$str = str_replace($arr,'',$str);
print_r($str);
$str = 'abcdfgab110123';
$str = str_replace($arr,'',$str);
print_r($str);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果只是固定的123 abc就没必要用正则了.
简单的str_replace就可以了. 比如:
$string = str_replace(array('123', 'abc'), array('', ''), $string);
简单的str_replace就可以了. 比如:
$string = str_replace(array('123', 'abc'), array('', ''), $string);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询