我知道preg_replace
是如何运作的,但我对正则表达式很恐怖。这是我想要实现的目标。我有网址:
http://localhost/Wiki/index.php?*title=***TEST***&action=edit&redlink=1*
我想用这个替换该网址:
http://localhost/Wiki/index.php/*Special:FormStart?page_name=***TEST***&form=Main*
从第一个url(在此ex.TEST中)获取标题并将其放入新URL。
这是我到目前为止的想法
$pattern = '/^?title=\ Dynamic title goes here \&action=edit&redlink=1$/';
替换为
$replaceW = '/^Special:FormStart?page_name=\ Dynamic title goes here \&form=Main$/';
如果你让我开始这样做,我将感激不尽!
答案 0 :(得分:0)
试试这个......
preg_replace(
'/^http:\/\/localhost\/Wiki\/index\.php\?title=(.*(?=&))&action=edit&redlink=1$/',
'http://localhost/Wiki/index.php/Special:FormStart?page_name=$1&form=Main',
'http://localhost/Wiki/index.php?title=TEST&action=edit&redlink=1'
);
请注意(.*(?=&))
使用前瞻替换动态文本(有关详情,请参阅http://ruby.about.com/od/regularexpressions/a/lookback.htm)