# SpAgEtE (09.08.2016 / 15:11)Вместо многократных вызовов лучше сохранить искомые значения в массив, и этот массив передавать в str_replace. А чтобы не объявлять второй массив заменяемых значений, надо организовать поиск и замену по подмаскам. В итоге твой код можно сократить втрое :
[php]$post = str_replace("xD","<img src='../images/xD.gif' />",$post);
$post = str_replace(";)","<img src='../images/namig.gif' />",$post);
$post = str_replace("xd","<img src='../images/xD.gif' />",
$pattern = ['~(xD)~i','~(;\))~i','~(-_-)~i','~(o\.o)~i','~(:/)~i'];
echo preg_replace($pattern, '<img src="../images/$1.gif" />', $post);