Preg_replace替换动态图像URL

时间:2012-08-05 10:44:44

标签: php regex proxy preg-replace

我正在尝试替换不断变化的图片网址。

图片网址:src="/images/previews/logo-15-hp.jpg"。在这个URL中,logo-15-hp.jpg每天都会变换为其他东西。我要做的是将此网址替换为默认网址,如下所示:src="http://mywebsite.com/images/previews/default.jpg"

我尝试使用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);

另外,请解释您建议的任何代码。它将来会对我有所帮助。

谢谢!

编辑:我正在尝试自动检测网址并进行更改,但我甚至无法在preg_replace中使用完整网址。例如,我需要这样的代码:

$ content = preg_replace('src =“/ images / previews / logos ** *此部分不断更改,因此我需要preg_replace而不是str_replace *** .jpg”','src = “http://mywebsite.com/default.gif””,$内容);

2 个答案:

答案 0 :(得分:2)

这是你需要做的事情

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

这会在“/ logos”之后替换任何内容,直到找到双引号。

编辑:更新了每个更新问题的响应...

答案 1 :(得分: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;