- function removeBracket($str) {
- if(!$str) return;
- $str = preg_replace("/(\(|()([^\)\(]+)计划(\)|))/",'',$str);
- //$str = preg_replace("/(\(|()([^\)\(()]+)计划(\)|))/",'',$str);
- return $str;
- }
- $str = '中集冀东(秦皇岛)车辆制造有限公司(承德庞大计划)';
- //$str = '中集冀东(秦皇岛)车辆制造有限公司(承德庞大计划)';
- var_dump(removeBracket($str)); //结果应 return '中集冀东(秦皇岛)车辆制造有限公司'
复制代码 上边的函数removeBracket() 我想让他替换一个字符串. 替换规则是:如果字符串中出现小括号(可能为中文或英文状态下的),并且右括号前为"计划"两个字, 则去掉该括号以及括号中的内容, 其他括号保留, 如:'中集冀东(秦皇岛)车辆制造有限公司(承德庞大计划)'经过转换应为'中集冀东(秦皇岛)车辆制造有限公司', 但是现在转换结果为:'中集冀东'. 英文的情况搞定了, 请大家帮忙, 主要是中间这段: ([^\)\(]+) 为什么不可以写成([^\)\(()]+) |