如题  
 现在有一字符串是
$content = '
test
';
想要将这字符里面的 images/tmp 都替换成 images/pub
本人已经写了一个函数  
  	public static function replace_img_publish_path($content){		$pattern='/()/';		$replacement=\${1}images/pub/\${3};		print  preg_replace($pattern, $replacement, $content);		exit;	}
输出结果为
test
只替换了最后一个img标签
如何才能全部都替换?
回复讨论(解决方案)   $content = 'test
';$content = preg_replace('#(?<=src=http://localhost:8080/story/images/)tmp/#', 'pub/', $content);echo $content;
test
你没有防止贪婪匹配。
$pattern='/()/'; 
   你写的方法加一个参数u就可以了。  
 加上u,将懒惰匹配 变成 贪婪匹配。
$pattern='/()/ u';
测试例子:  
  $content = 'test
';replace_img_publish_path($content);function replace_img_publish_path($content){    $pattern='/()/u';    $replacement=\${1}images/pub/\${3};    print  preg_replace($pattern, $replacement, $content);    exit;}
替换后:  
test
   
 
   