I'm looking for the way to replace emoticons in php and my code is below.
function emotify($text)
{
$icons = array(
'3:)' => '<li class="emoti emoti55"></li>',
'O:)' => '<li class="emoti emoti54"></li>',
':)' => '<li class="emoti emoti00"></li>',
'>:(' => '<li class="emoti emoti19"></li>',
':(' => '<li class="emoti emoti01"></li>',
':P' => '<li class="emoti emoti14"></li>',
'=D' => '<li class="emoti emoti08"></li>',
'>:o' => '<li class="emoti emoti18"></li>',
':o' => '<li class="emoti emoti15"></li>',
';)' => '<li class="emoti emoti04"></li>',
':/' => '<li class="emoti emoti03"></li>',
':\'(' => '<li class="emoti emoti05"></li>',
'^_^' => '<li class="emoti emoti18"></li>',
'B|' => '<li class="emoti emoti09"></li>',
'<3' => '<li class="emoti emoti65"></li>',
'-_-' => '<li class="emoti emoti40"></li>',
'o.O' => '<li class="emoti emoti10"></li>',
'(y)' => '<li class="emoti emoti81"></li>',
);
return str_replace(array_keys($icons), array_values($icons), $text);
}
//test work well
echo emotify(":) :( :P =D :o ;) :v >:( :/ :'( ^_^ 8-) B| <3 3:) O:) -_- o.O >:o :3 (y) ");
I want if there is string concatenate with left or right sides of emoticon codes , don't replace it. For example:
http:/
/www.google.com aaa:)
bbb :)
111111 22222:)
I think this may done by using preg replace(?) Please help, Many thanks.