Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[求助] 关于PHP正则表达式, 高手帮忙!

[复制链接]
kissdp2 发表于 2010-9-7 10:56:29 | 显示全部楼层 |阅读模式
  1. function removeBracket($str) {
  2.     if(!$str) return;
  3.     $str = preg_replace("/(\(|()([^\)\(]+)计划(\)|))/",'',$str);
  4.     //$str = preg_replace("/(\(|()([^\)\(()]+)计划(\)|))/",'',$str);
  5.     return $str;
  6. }

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

使用道具 举报

nilumu 发表于 2010-9-7 15:29:36 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-24 19:05 , Processed in 0.027369 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表