我正在尝试用新网址替换分页元素中的多个网址。
当网址出现一次,即prev和next时,替换工作正常,但是在分页编号中断时会中断。它将第一个和最后一个数字链接放在一起。如何让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')));
?>
答案 0 :(得分:4)
试试这个:
$pattern = '/\/(.+?)\/page:(\d)/S';
你的。+贪婪。换句话说,它正在吸收第一个/最后一个/页面之间的所有内容:。
?运算符会使其匹配最小值。