PHP正则表达式如何替换像这样的案例的

如类似:龙门飞甲/龙门飞甲电视剧版替换掉:/龙门飞甲电视剧版为空结果:龙门飞甲... 如类似:龙门飞甲/龙门飞甲电视剧版
替换掉:/龙门飞甲电视剧版 为空
结果:龙门飞甲
展开
 我来答
紫薇参星
科技发烧友

2019-06-24 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3607万
展开全部

这个用正则表达式替换是比较简单的,因为有分隔符/,所以把分隔符后面的都替换掉就行了.

<?php

$str="龙门飞甲/龙门飞甲电视剧版";

$regex="~/.*?$~";

echo preg_replace($regex,"",$str);

?>

如果有多个用空格隔开的类似字符串,可以用下面的正则表达式替换

<?php

$str="龙门飞甲/龙门飞甲电视剧版 龙门飞甲/龙门飞甲电视剧版";

$regex="~/.*?(?= |$)~";

echo preg_replace($regex,"",$str);

?>

更多追问追答
追问
除了上面这种的,还有一个问题就是遇到名字这样的就麻烦了,只要有“/后面的”都被去掉了!
如:超可动女孩1/6;假面同窗会/假面同学会;蜀山传/粤语版
因 “龙门飞甲/龙门飞甲电视剧版” 有重复 “龙门飞甲” 所以想去掉其中一个,就是想去掉像“龙门飞甲”这样的可以怎么写?如:去掉“/XXXXX电视剧版”
追答

只去掉有重复中文后半部的PHP程序如下

<?php

$str="龙门飞甲/龙门飞甲电视剧版;超可动女孩1/6;龙门飞甲/龙门飞甲电视剧版;假面同窗会/假面同学会;蜀山传/粤语版";

$regex="~(?<=^|;)(.*?)/\\1.*?(?=;|$)~";

echo preg_replace($regex,"$1",$str);

?>

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式