我知道preg_replace是怎么工作的,但是我对正则表达式很不满意。这就是我想要实现的目标。我有url:
http://localhost/Wiki/index.php?*title=***TEST***&action=edit&redlink=1*我想用下面的url替换这个url:
http://localhost/Wiki/index.php/*Special:FormStart?page_name=***TEST***&form=Main*同时从第一个url (在这个ex中)获取标题。测试)并将其放入新的url中。
到目前为止,我是这么想的
$pattern = '/^?title=\ Dynamic title goes here \&action=edit&redlink=1$/';将其替换为
$replaceW = '/^Special:FormStart?page_name=\ Dynamic title goes here \&form=Main$/';如果你能让我开始做这件事,我将不胜感激!
发布于 2011-03-24 12:26:43
试试这个。
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)
https://stackoverflow.com/questions/5414517
复制相似问题