• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

这个如果用mysql语句来替换,请问要怎么写 ?

php 搞代码 3年前 (2022-01-23) 25次浏览 已收录 0个评论
文章目录[隐藏]

我的问题:
求一个网址截取的正则替换表达式

http://p.yiqifa.com/n?k=2mLErnws6E4H2mLErI6H2mLsWN3OrnDsWN2e6QLs1NDF6ZLErZyH2mLe6n6w3E3LMZqt6cuLUJeH&spm=1.1.1.1&t=http://www.xuansou.com/

这样一个网址,想把第二个http://前面的内容全部替换成空
也就是只想保留http://www.xuansou.com/

需要怎么弄,谢谢,我是菜鸟
jordan102版主的正确回答我已经结帖了:
$s = ‘http://p.yiqifa.com/n?k=2mLErnws6E4H2mLErI6H2mLsWN3OrnDsWN2e6QLs1NDF6ZLErZyH2mLe6n6w3E3LMZqt6cuLUJeH&spm=1.1.1.1&t=http://www.xuansou.com/’;
echo preg_replace(‘/.+?t=/’, ”, $s);

以上是用于php代码的,
这个如果用mysql语句来替换,请问要怎么写 ?*本文来@源gao@daima#com搞(%代@#码@网2

搞代gaodaima码

回复讨论(解决方案)

截取出来就是了
SUBSTRING_INDEX(字段名, ‘t=’, -1)

update alibaba_site set url = replace(url,SUBSTRING_INDEX(url,’t=’,-1),”) where id=2452
这样的话整个字段的值全部玩完了

update alibaba_site set url = replace(url,SUBSTRING_INDEX(url,’t=’,-1),”) where id=2452
这样的话整个字段的值全部玩完了

update alibaba_site set url = replace(url,SUBSTRING_INDEX(url,’t=’,-1),”) where id=2452
这样的话整个字段的值全部玩完了

update ylmf_site set url = SUBSTRING_INDEX(url,’url=’,-1) where id=2452
试了这样是可以的,不过有个问题
就是最后一个网址的前面那些字符串是变化多端的
每替换一批都要修改一次

‘前面那些字符串’ 是指哪些?

这个最好用php处理,mysql不支持复杂的正则写法,如果觉得存储在字段的值,不满足自己,可以php写个正则替换脚本执行。

‘前面那些字符串’ 是指哪些?

网址1:http://click.linktech.cn/?m=idaphne&a=A100113464&l=99999&l_cd1=0&l_cd2=1&u_id=88819&tu=http%3A%2F%2Fwww.xuansou.com%2F
网址2:http://p.yiqifa.com/n?k=2mLErnws6E4H2mLErI6H2mLsWN3OrnDsWN2e6QLs1NDF6ZLErZyH2mLe6n6w3E3LMZqt6cuLUJeH&spm=1.1.1.1&t=http://www.xuansou.com/
这二个网址中的http://www.xuansou.com的前面就是指 “’前面那些字符串’ ”

怕种mysql正则好实现不,如果不好实现,用您的那个xxxx_index也是可以的,虽然麻烦了一点

update ylmf_site set url = concat(‘http’, SUBSTRING_INDEX(url,’=http’,-1)) where id=2452


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:这个如果用mysql语句来替换,请问要怎么写 ?

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址