为了账号安全,请及时绑定邮箱和手机立即绑定

删除括号之间的文本PHP

删除括号之间的文本PHP

PHP
www说 2019-10-18 14:58:02
我只是想知道如何在php中删除一组括号和括号本身之间的文本。范例:ABC(测试1)我想删除(Test1),只离开ABC谢谢
查看完整描述

3 回答

?
白衣染霜花

TA贡献1796条经验 获得超10个赞

$string = "ABC (Test1)";

echo preg_replace("/\([^)]+\)/","",$string); // 'ABC '

preg_replace是基于Perl的正则表达式替换例程。该脚本的作用是匹配所有出现的右括号,后跟任意数量的字符而不是右括号,然后再次跟右括号,然后将其删除:


正则表达式细分:


/  - opening delimiter (necessary for regular expressions, can be any character that doesn't appear in the regular expression

\( - Match an opening parenthesis

[^)]+ - Match 1 or more character that is not a closing parenthesis

\) - Match a closing parenthesis

/  - Closing delimiter


查看完整回答
反对 回复 2019-10-18
?
BIG阳

TA贡献1859条经验 获得超6个赞

$string = "ABC (Test1(even deeper) yes (this (works) too)) outside (((ins)id)e)";

$paren_num = 0;

$new_string = '';

foreach($string as $char) {

    if ($char == '(') $paren_num++;

    else if ($char == ')') $paren_num--;

    else if ($paren_num == 0) $new_string .= $char;

}

$new_string = trim($new_string);

它通过遍历每个字符并计算括号来工作。仅当$paren_num == 0(在所有括号之外)时,才将字符附加到结果字符串中$new_string。


查看完整回答
反对 回复 2019-10-18
  • 3 回答
  • 0 关注
  • 708 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信