Search code examples
phptextreplaceemojione

convert emoji short name to image using custom function


I have created a function that converts emoji short name to image but I am stuck how do i get emojis short names from a string so the function can convert those to emoji image .

$field_from_db  = ':slight_smile:';
$shortcode_replace = shortcode_replace();
$shortname = $shortcode_replace[$field_from_db]; This code search in shortcode fucntion and replaces it with unicode to get cdn image 
$shortname = $shortname[0];


echo convertImage($shortname); after we got unicode for cdn predesigned in the shortcodes function it returns back with the image url 

Now i am confuse how it will convert from a string

$field_from_db  = 'Hello How are you :slight_smile::joy:';
//Here we have a string so how do i convert all short names to emoji using the function i created 

Solution

  • A simple solution is to use preg_match_all function to return the short names from string and iterate through each of them to convert into image.

    <?php
    
    $string  = 'Hello How are you :slight_smile::joy:';
    
    $regex = "/:([a-zA-Z0-9_]*):/";
    preg_match_all($regex, $string, $matches);
    
    print_r($matches[0]);
    

    Demo: https://3v4l.org/ro1m3

    Hope it helps!