它是一个好的代码还是可以优化?
$tempmsg = str_replace("[:)]","<img src='img/smiley0.png' title='Smile' height='100' width='100'>",$tempmsg);
答案 0 :(得分:2)
非常好,你没有使用正则表达式(preg_replace),所以不用担心。
对我来说,这不是真的可读。如果你需要更换其他表情怎么样?它不可重复使用。这是迈向更好的可读性,增加可重用性的第一步......可能有点慢,但在我需要优化之前,我倾向于支持可重用性而不是性能。
function replace_smiley($text) {
$replacements = array(
":)" => "image1.jpg",
":(" => "image2.jpg"
);
$out = $text;
foreach ($replacements as $code => $image) {
$html = '<img src="img/' . $image . ' alt="' . $code . '" height="100" width="100" />';
$out = str_replace($code, $html, $out);
}
return $out;
}
当然,根据要求,总有改进的余地。
答案 1 :(得分:1)
如何优化?通过一行代码优化事物很难。我建议将笑脸添加为ALT文本,对于那些没有图像功能或图像由于某种原因无法传输的人。但这不是“优化”。那简直就是好设计。
$tempmsg = str_replace(blah blah blah .... alt=":)" ...);
答案 2 :(得分:1)
这就是我构建它的方式:
function replace_smiley($text){
$replacements = array(
':)' => 'image1.jpg',
':(' => 'image2.jpg'
);
$search = array();
$replace = array();
foreach($replacements as $key => $val){
$search[] = $key;
$replace[] = '<img src="images/' . $val . '" alt="' . $key . '" />';
}
return str_replace($search, $replace, $text);
}
它高效,易于维护,可能尽可能优化。