2012-08-05 41 views
2

我试图替换不断更改的图片URL。图片网址:src="/images/previews/logo-15-hp.jpg"。在这个URL中,logo-15-hp.jpg将每天都在改变其他的东西。我想要做的是将此网址替换为默认网址,例如:src="http://mywebsite.com/images/previews/default.jpg"Preg_replace替换动态图片URL

我试着用preg_replace做这件事,但我无法让它工作。我尝试了不同的变化,最后放弃了。如果有人能帮助我,我会很高兴。

我的代码:

$content = 
preg_replace('src="/images/previews/logo\-15\-hp\.jpg"','src="http://mywebsite.com/default.gif"',$content); 

我也试过这样:

preg_replace('src\=\"\/images\/previews\/logo\-15\-hp\.jpg\"','src="http://mywebsite.com/default.gif"',$content); 

也请解释一下你提出的任何代码。它将在未来帮助我。

谢谢!

编辑:我试图自动检测URL并进行更改,但我甚至无法使用preg_replace中的完整URL进行更改。比如我需要一个像这样的代码:

$内容=的preg_replace('SRC =“/图片/预览/标识** *这部分不断变化,所以我需要的preg_replace不是str_replace函数*** .JPG “”, 'SRC = “http://mywebsite.com/default.gif”',$内容);

+0

您的模式需要[分隔符](http://www.php.net/manual/en/regexp.reference.delimiters.php)。 – rexmac 2012-08-05 11:47:52

回答

2

以下是你需要做什么

$content = preg_replace(
    '#src="/images/previews/logos[^"]+#', 
    'src="http://mywebsite.com/default.gif"', 
    $content 
); 

,直到它找到一个双引号这将替换后“/标识”任何东西。

编辑:每更新的问题更新回复...

+0

我试图自动检测URL并进行更改,但我甚至无法使用preg_replace中的完整URL进行更改。例如我需要这样的代码: $ content = preg_replace('src =“/ images/previews/logos ***这部分不断变化,所以我需要preg_replace而不是str_replace ***。jpg'','' SRC = “http://mywebsite.com/default.gif””,$内容); – 2012-08-08 11:21:01

+0

请参阅最新的答案。 – Geoffrey 2012-08-09 02:48:35

0

它一定会帮助你。我已经测试过,然后发布它。 Plz看到附加的代码:

$content = 'hello this is content<img src="/images/previews/logo-15-hp.jpg" height="50" 
width="50" alt="image" />content after image'; 
$pattern = '/\/images\/previews\/logo\-15\-hp\.jpg/'; 
$replacement = 'http://mywebsite.com/images/previews/default.jpg'; 
$final_content = preg_replace($pattern, $replacement, $content); 
echo $final_content;