php替换括号中的内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php替换括号中的内容相关的知识,希望对你有一定的参考价值。

比如 $str="abc(s斯蒂芬fas的fd)";

如果用正则表达式去掉 () 以及 其中的内容,最后剩下 abc

希望知道的朋友帮忙解答,谢谢!

$str="abc(s斯蒂芬fas的fd)";
echo preg_replace("/\(.*\)/", '', $str),' ',strstr($str,'(',true);

不过还是推荐后面一种写法
能用php内部字符串操作函数的情况下,尽量用他们,不要用正则表达式; 因为其效率高于正则;
没得说,正则最耗性能。
有没有你漏掉的好用的函数?例如:strpbrk()strncasecmp()strpos()/strrpos()/stripos()/strripos()加速 strtr如果需要转换的全是单个字符的时候,
用字符串而不是数组来做 strtr:
<?php
$addr = strtr($addr, "abcd", "efgh"); // good
$addr = strtr($addr, array('a' => 'e', )); // bad
?>
效率提升:10 倍。

str_replace字符替换比正则替换preg_replace快,但strtr比str_replace又快1/4;
另外不要做无谓的替换即使没有替换,str_replace 也会为其参数分配内存。很慢!解决办法:
用 strpos 先查找(非常快),看是否需要替换,如果需要,再替换效率:- 如果需要替换:效率几乎相等,差别在 0.1% 左右。
如果不需要替换:用 strpos 快 200%。
参考技术A preg_replace("/\(.*\)/", '', $str);本回答被提问者采纳

以上是关于php替换括号中的内容的主要内容,如果未能解决你的问题,请参考以下文章

WPS如何替换括号中的内容

php preg_replace遇到替换本身有括号的内容怎么办

PHP:Preg 替换括号?

在word中去掉所有括号中的不同内容,有简单方法吗

替换嵌套括号中的内容

替换字符串中的括号和方括号