2012-08-05 75 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;