2

我正在尝试替换不断变化的图像 URL。

图片网址:src="/images/previews/logo-15-hp.jpg". 在此 URL 中,logo-15-hp.jpg 每天都会更改为其他内容。我想要做的是将此 URL 替换为这样的默认 URL 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);

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

谢谢!

编辑:我正在尝试自动检测 URL 并进行更改,但我什至无法使用 preg_replace 中的完整 URL 来做到这一点。例如我需要这样的代码:

$content = preg_replace('src="/images/previews/logos** *这部分不断变化,所以我需要 preg_replace 而不是 str_replace*** .jpg"','src="http://mywebsite.com/ default.gif"',$content);

4

2 回答 2

2

这是您需要做的

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

这将替换 '/logos' 之后的任何内容,直到找到双引号。

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

于 2012-08-05T10:46:16.050 回答
0

它肯定会帮助你。我已经测试然后发布它。请看附上的代码:

$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;
于 2013-07-29T11:55:17.973 回答