2010-04-06 2 views
2

У меня есть WordPress блог с многочисленными URL, я хочу, чтобы заменить из этого:.URL поиска регулярных выражений и заменить на MySQL (в WordPress)

http://www.oldwebsite.co.il/name/ *** жерех

Для этого:

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, у которого есть аналогичная задача, но поскольку я не слишком склонен к регулярному выражению, я надеялся на помощь, поэтому я ничего не испортил.

Спасибо,

Tal

ответ

2

Поиск регулярного выражения:

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); 
+0

Возможно, вам понадобится http: // (?: Www \.)? Oldwebsite'. – Kobi

+0

вам нужно сбежать от «обратной косой черты» и «перевернуть» или обернуть свой узор в | pattern-go-here | используя || вам не нужно избегать символов. –

+0

В моем PHP-коде используются знаки%, чтобы разграничить регулярное выражение, поэтому мне не нужно скрывать косые черты. Использование | разграничить регулярное выражение - плохая идея, потому что | является метасимволом регулярного выражения. –

Смежные вопросы