PHP求助!
function str_emoji($str){ function empic($h){ $p=dechex(str_replace(array('',';'),'',$h)); return ''; }; $str=preg_replace('#(\&\#[0-9]{6}\;)#ie','empic("\\1")',$str); return $str; }; $com_print=str_emoji('aaa🐛🐍bbb');
在我的网站中这段代码是报错的,我用的PHP版本是5.3.28
我在SAE中测试是没有问题的,版本是5.3 http://parktest.sinaapp.com/
是不是死循环了????
function str_emoji($str,$cdn){
function empic($h){
$p=dechex(str_replace(array('&#',';'),'',$h));
return '<img src="'.$cdn.$p.'.png" alt="'.$h.'" class="smiley" />';
};
$str=preg_replace('#(\&\#[0-9]{6}\;)#ie','empic("\\1")',$str);
return $str;
};
$com_print=str_emoji('aaa🐛🐍bbb',$_POST['face']);
好吧,最后还是要我自己来写答案。
function pic_emoji($str,$cdn){ return preg_replace_callback( '/\&\#[0-9]{6}\;/', function ($m) use ($cdn){ $p=dechex(str_replace(array('&#',';'),'',$m[0])); return '<img src="'.$cdn.$p.'.png" alt="'.$m[0].'" class="smiley" />'; }, $str ); };