MySQL 上的 URL 正则表达式搜索和替换(在 WordPress 中)

Posted

技术标签:

【中文标题】MySQL 上的 URL 正则表达式搜索和替换(在 WordPress 中)【英文标题】:URL regex search and replace on MySQL (in 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 *** thread 有类似的任务,但由于我不太擅长正则表达式,所以我希望得到帮助,所以我不会搞砸任何事情。

谢谢,

塔尔

【问题讨论】:

【参考方案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 代码使用 % 符号来分隔正则表达式,因此我不必转义正斜杠。使用 |分隔正则表达式是一个坏主意,因为 |是一个正则表达式元字符。

以上是关于MySQL 上的 URL 正则表达式搜索和替换(在 WordPress 中)的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式搜索+替换 href="URL"

正则表达式基础

用于替换 URL 中的页码的正则表达式

没有正则表达式的简单搜索和替换

用于在 Calc 中搜索和替换的正则表达式

如何编写正则表达式来查找/替换 HTML 类? [复制]