2009-10-14 129 views
0

我想用新的url替換分頁元素中的多個網址。preg_replace多個問題

當網址出現一次(即上一頁和下一頁)時,替換工作正常,但它在分頁編號上出現中斷。它將第一個和最後一個號碼鏈接放在一起。如何讓preg_replace函數意識到有多個需要替換的鏈接出現?

<?php 
    $pattern = '/\/(.+)\/page:(\d)/S'; 
     $replacement = $uurl.'page:$2'; 
     echo preg_replace($pattern, $replacement,$paginator->prev('<< '.__('previous', true), array('url' => $paginator->params['pass']), null, array('class'=>'disabled'))).' | '; 
     echo preg_replace($pattern, $replacement,$paginator->numbers()); 
     echo preg_replace($pattern, $replacement,$paginator->next(__('next', true).' >>', array('url' => $paginator->params['pass']), null, array('class'=>'disabled'))); 
    ?> 

回答

4

試試這個:

$pattern = '/\/(.+?)\/page:(\d)/S'; 

你+是貪婪。換句話說,它吸收了第一個/和最後一個/頁面之間的所有內容:

The?操作符會使其與最小值相匹配。

+0

這沒有奏效。 – jbrass 2009-10-17 00:52:19