我正在尝试替换不断变化的图片网址。
图片网址: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””,$内容);
答案 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;