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

我该怎么实现?

谢谢帮助。
展开
 我来答
出行e助手小程序
2013-03-20 · TA获得超过515个赞
知道小有建树答主
回答量:173
采纳率:100%
帮助的人:207万
展开全部
用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);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
圣鸾OJ
2015-10-03 · TA获得超过1629个赞
知道小有建树答主
回答量:1136
采纳率:96%
帮助的人:108万
展开全部
用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);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友677c730
2013-03-20 · 超过41用户采纳过TA的回答
知道小有建树答主
回答量:122
采纳率:0%
帮助的人:67.6万
展开全部
建议你重写个,再方法里面循环替换即可
$string = preg_replaceAll(array(123,'abc'),'',$string);

function preg_replaceAll($arr,$string){
foreach($arr as $val){
$string = preg_replace($val,'',$string);

}

return $string;//返回数组

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
奈蒙
2013-03-20 · TA获得超过211个赞
知道小有建树答主
回答量:491
采纳率:0%
帮助的人:210万
展开全部
$arr = array('123','abc');
$str = 'abcdfgab110123';
$str = str_replace($arr,'',$str);
print_r($str);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
YarcoWang
推荐于2017-12-16 · TA获得超过100个赞
知道答主
回答量:98
采纳率:0%
帮助的人:85万
展开全部
如果只是固定的123 abc就没必要用正则了.
简单的str_replace就可以了. 比如:

$string = str_replace(array('123', 'abc'), array('', ''), $string);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式