怎样用PHP正则替换特定标志及其间的字符呢? 40
比如有字符串$str='我认为:[TAG]你的观点(opinion1)![/TAG],他认为:[TAG]他的观点(opinion2)![/TAG]...';用正则$p将所...
比如有字符串
$str = '我认为:[TAG]你的观点(opinion1)![/TAG],他认为:[TAG]他的观点(opinion2)![/TAG]...';
用正则$p将所有[TAG][/TAG]标志及其间内容都替换成相同内容“PHP是世界上最好的语言”,
print preg_replace($p, 'PHP是世界上最好的语言', $str);
最后应为
$str = '我认为:PHP是世界上最好的语言,他认为:PHP是世界上最好的语言...';
求$p正则表达式,谢谢! 展开
$str = '我认为:[TAG]你的观点(opinion1)![/TAG],他认为:[TAG]他的观点(opinion2)![/TAG]...';
用正则$p将所有[TAG][/TAG]标志及其间内容都替换成相同内容“PHP是世界上最好的语言”,
print preg_replace($p, 'PHP是世界上最好的语言', $str);
最后应为
$str = '我认为:PHP是世界上最好的语言,他认为:PHP是世界上最好的语言...';
求$p正则表达式,谢谢! 展开
1个回答
展开全部
你的第一个需求,是可以满足的
第二个需求,程序无法满足,因为程序不是人,不可能识别到丢失的右中括号在哪里结束
以下是已经运行通过的代码
<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;
}
?>
第二个需求,程序无法满足,因为程序不是人,不可能识别到丢失的右中括号在哪里结束
以下是已经运行通过的代码
<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;
}
?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询