0

我正在尝试重写此 URL:

http://www.mysite.com/index.php?topic=54.msg432#msg432

对此:

http://www.mysite.com/index.php?thread=54&post=432

使用 preg_replace。我试过这个:

echo preg_replace('|http?://www\.mysite\.com/index.php/topic=(\d)|', '\1',
                  'http://www.mysite.com/index.php?topic=54.msg432#msg432');

而且我无法获得线程:(我尝试使用手册,但 php 模式令人困惑。我习惯于 python RE 模式......

这也不起作用

php -r "echo preg_replace('~\?topic=(\d+).msg(\d+)~', '?thread=$1&post=$2', 'http://www.mysite.com/index.php?topic=54.msg432#msg432');" 

result:
http://www.mysite.com/index.php?thread=&post=#msg432

另外,我会很感激一个好的 php 模式手册。

谢谢

4

1 回答 1

1

尝试:

echo preg_replace('~\?topic=(\d+)\.msg(\d+).*~', '?thread=\1&post=\2', 'http://www.mysite.com/index.php?topic=54.msg432#msg432');
于 2012-09-13T03:04:18.637 回答