PHP正则替换,指定字符串之间的字符串

使用str_replace正则实现去除字符串中指定字符之间的内容。比如:$str="【喜讯】全国——乐享周六【8点到18点】世界杯纪念足球大放送";想要把字符串中,中括号... 使用 str_replace 正则实现去除字符串中指定字符之间的内容。比如:
$str = "【喜讯】全国——乐享周六【8点到18点】 世界杯纪念足球大放送";
想要把 字符串中,中括号之间的内容包括中括号都去掉(中括号之间内容是不固定的)
得到:
$str2 = "全国——乐享周六世界杯纪念足球大放送";

希望高手能帮下忙!
还有 需要防止只有单边中括号时清空括号右或者括号左的内容,比如
乐享周六【8点到18点世界杯纪念足球大放送

防止得到半括号右边全被清除的结果:
乐享周六
展开
 我来答
zzs1949
推荐于2016-11-07 · TA获得超过1600个赞
知道小有建树答主
回答量:1250
采纳率:80%
帮助的人:1119万
展开全部

你的第一个需求,是可以满足的

第二个需求,程序无法满足,因为程序不是人,不可能识别到丢失的右中括号在哪里结束


以下是已经运行通过的代码

<meta http-equiv="Content-Type"    content="text/html; charset=utf-8" />
<?php
$str = "【喜讯】全国——乐享周六【8点到18点】 世【界杯纪念】足球【大】放送";
$str = check($str);
echo $str;
function check($str){
if(strstr($str,'【')  && strstr($str,'】')){
    $str = change($str);
    $str = check($str);
    return $str;
}else{
    return $str;
}
}
function change($str){
preg_match('/【(.*?)】/',$str,$result);
$last = str_replace($result['0'],'',$str);
return $last;
}
?>
DianWeasleyb2
2014-08-17
知道答主
回答量:96
采纳率:0%
帮助的人:21.7万
展开全部
太纷扰,只会让失去的那份纯真.祭奠了凄凉。有些事,我们都太过于执着。只要生命还有一口气,那些执念就将永生,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式