String_replace replaces not all elements

76 Views Asked by At

I am making a Laravel Helper function, that should convert ":)" and others to normal smiles, however, some elements just do not convert! Maybe you can help me to find that, maybe stupid, mistake.

Code:

public static function convertSmiles($string)
{
    $smiles = [
        ':)',
        ':angel:',
        ':angry:',
        '8-)',
        ':\'(',
        ':ermm:',
        ':D',
        '<3',
        ':(',
        ':O',
        ':P',
        ';)',
        ':alien:',
        ':blink:',
        ':blush:',
        ':cheerful:',
        ':devil:',
        ':dizzy:',
        ':getlost:',
        ':happy:',
        ':kissing:',
        ':ninja:',
        ':pinch:',
        ':pouty:',
        ':sick:',
        ':sideways:',
        ':silly:',
        ':sleeping:',
        ':unsure:',
        ':woot:',
        ':wassat:'
    ];
    $urls = [
        "<img src='".url('/jquery/sceditor/emoticons')."/smile.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/angel.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/angry.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/cool.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/cwy.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/ermm.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/grin.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/heart.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/sad.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/shocked.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/tongue.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/wink.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/alien.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/blink.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/blush.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/cheerful.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/devil.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/dizzy.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/getlost.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/happy.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/kissing.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/ninja.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/pinch.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/pouty.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/sick.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/sideways.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/silly.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/sleeping.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/unsure.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/w00t.png'/>",
        "<img src='".url('/jquery/sceditor/emoticons')."/wassat.png'/>"
    ];
    return str_replace($smiles,$urls,$string);
}

I have problems with <3 and :'(

smiles

0

There are 0 best solutions below