- preg_match_all: documentation ( source)
- str_replace: documentation ( source)
- trim: documentation ( source)
- sprintf: documentation ( source)
<?php
function parse_emojis(string $string): string
{
preg_match_all('/(?<match>:.*:)/', $string, $matches, PREG_PATTERN_ORDER);
$emojis = $matches['match'];
foreach ($emojis as $emoji):
$emoji_name = trim($emoji, ':');
foreach (EMOJIS as $key => $value):
$names = $value[3];
foreach($names as $name):
if ($name == $emoji_name):
$string = str_replace($emoji, sprintf('\\u{%s}', $key), $string);
break;
endif;
endforeach;
endforeach;
endforeach;
console_log('$string', $string);
return $string;
}