php替换括号中的内容
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php替换括号中的内容相关的知识,希望对你有一定的参考价值。
比如 $str="abc(s斯蒂芬fas的fd)";
如果用正则表达式去掉 () 以及 其中的内容,最后剩下 abc
希望知道的朋友帮忙解答,谢谢!
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替换括号中的内容的主要内容,如果未能解决你的问题,请参考以下文章