【问题标题】:URL regex search and replace on MySQL (in WordPress)MySQL 上的 URL 正则表达式搜索和替换(在 WordPress 中)
【发布时间】:2011-02-04 17:11:23
【问题描述】:

我有一个 WordPress 博客,其中包含许多我希望从中替换的 URL:

http://www.oldwebsite.co.il/name/***.asp

到这里:

http://www.newwebsite.com/?p=***

例如,由此而来:

http://oldwebsite.co.il/name/65971.asp

到这里:

http://www.newwebsite.com/?p=65971

我相信以下插件: http://urbangiraffe.com/plugins/search-regex/ 可以使用正则表达式来解决问题,但我正在寻找正确的正则表达式来使用。

我发现 this stackoverflow thread 有类似的任务,但由于我不太擅长正则表达式,所以我希望得到帮助,所以我不会搞砸任何事情。

谢谢,

塔尔

【问题讨论】:

    标签: mysql regex wordpress phpmyadmin replace


    【解决方案1】:

    搜索正则表达式:

    http://oldwebsite\.co\.il/name/(\d+)\.asp
    

    并替换为:

    http://www.newwebsite.com/?p=$1
    

    在 PHP 中:

    $after = preg_replace('%http://oldwebsite\.co\.il/name/(\d+)\.asp%', 'http://www.newwebsite.com/?p=$1', $before);
    

    【讨论】:

    • 你必须转义'反斜杠和正斜杠'或将你的模式包裹在|pattern-goes-here|中使用 ||你不必转义字符。
    • 我的 PHP 代码使用 % 符号来分隔正则表达式,因此我不必转义正斜杠。使用 |分隔正则表达式是一个坏主意,因为 |是一个正则表达式元字符。
    猜你喜欢
    • 2011-07-09
    • 2014-04-20
    • 1970-01-01
    • 2013-05-29
    • 2013-06-14
    • 2018-11-10
    • 1970-01-01
    • 2018-05-25
    相关资源
    最近更新 更多