我有多維數組(名稱+圖片路徑),其中一些名字是相似的,如:PHP多個替代
array("name" => "OpenGL", "img" => "OpenGL.png"),
array("name" => "OpenGL Lighting (Advanced)", "img" => "OpenGL-LightingAdvanced.png")
然後我更換圖片名稱。
foreach ($extensions as $extension) {
$ret=str_ireplace($extension['name'],'<img src="images/'.$extension['img'].'" alt="'.$extension['name'].'" />: ',$ret);
}
只要數組從最短名稱到最長名稱排序,但在這種情況下,更長的名稱將永遠不會改變,例如。 OpenGL的照明(高級)將
<img src="images/OpenGL.png" alt="OpenGL" /></div>: Lighting (Advanced)
當我從longes名稱對其進行排序,以最短的它更是雪上加霜,病程會在SRC更改名稱:
<img src="images/<img src="images/OpenGL.png" alt="OpenGL" />: -LightingAdvanced.png" alt="<img src="images/OpenGL.png" alt="OpenGL" />: Lighting (Advanced)" />:
我唯一的想法是檢查如果沒有src =「images/或alt =」之前名稱,如果是 - 替換,但我不知道我怎麼能輕鬆做到。
您可以隨時將引號添加到替換中,對其進行分隔! – adeneo 2013-05-11 21:30:06
類似於'str_ireplace($ extension ['name']。「」''?很遺憾我不能這樣做: – Andy 2013-05-11 21:37:59