我需要用数组值替换字符串,并在数组值之前和之前添加一些文本。 我试图在谷歌和stackoverflow找到解决方案。但我失败了。 然后我有一个字符串,例如:
$string = "Hello...! :emo01:";
我有一个包含键和值的数组,例如:
$arr = array(":emo01:"=>"1f325", ":emo02:"=>"1f326", ":emo03:"=>"1f5b1");
我需要编写这个函数
function my_Function($arr,$string){
}
将返回"Hello...! <img src='http://www.domain.com/1f325.png' />"
。
如何写这个&#39; my_Function&#39;功能
答案 0 :(得分:1)
Solution work on general case.
$string = "Hello...! :emo01:";
$string2 = "Hello...! :emo01::emo02:";
$arr = array(":emo01:"=>"1f325", ":emo02:"=>"1f326", ":emo03:"=>"1f5b1");
function my_Function($arr, $string){
$arrNewArray = [];
foreach($arr as $key => $value ) {
$arrNewArray[$key] = '<img src="http://yourdomain.com/'. $value .'.png" />';
}
return str_replace(array_keys($arrNewArray), $arrNewArray, $string);
}
echo my_Function($arr, $string);
echo my_Function($arr, $string2);