我試圖用img標籤替換smileycodes。PHP替換笑臉由img標籤
我要取代這個:
:blush:
由:
<img src='images/blush.png' />
「臉紅」 是variabele,所以它可以是任何的笑臉。
我必須替換冒號之間的所有內容。我不熟悉正則表達式。
你能幫我嗎?
我試圖用img標籤替換smileycodes。PHP替換笑臉由img標籤
我要取代這個:
:blush:
由:
<img src='images/blush.png' />
「臉紅」 是variabele,所以它可以是任何的笑臉。
我必須替換冒號之間的所有內容。我不熟悉正則表達式。
你能幫我嗎?
對於多個替換喲你可以使用str_replace與數組而不是字符串進行搜索,使用笑臉代碼的數組替換爲第二個數組的值。但是你需要配置數組中的所有值,它們是靜態的。
另一種解決方案是遍歷可能笑臉碼和每個的它做str_replace函數:
$possibleCodes = array('blush', 'smiley2', 'smiley3');
foreach($possibleCodes as $code) {
str_replace(':'.$code.':', "<img src='images/".$code.".png'", $yourString);
}
這需要具有圖像名稱相同笑臉代碼。
您可以使用preg_replace
等作爲
preg_replace('~(:blush:)~','<img src="images/blush.png" />',$your_string);
編輯
如果你有一個字符串數組來代替,那麼你可以簡單地使用str_replace
等作爲
$find_array = array('blush', 'smiley2', 'smiley3');
$replace_array = ['<img src="images/blush.png" />','<img src="images/smiley2.png" />','<img src="images/smiley3.png" />']
str_replace($find_array,$replace_array,$your_string);
這將用圖像標記替換雙點內的所有值 - 即使它不是笑臉的有效代碼。此外,每個笑臉代碼都會被blush.png取代,這可能是錯誤的。 – ynnus
查看我的更新回答@ynnus –
謝謝!你的代碼作品! :) – Simon911