$re = '/(<a?)?:\w+:(\d{18}>)?|(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])/';
$str = '<:custom_emoji:652867697494720533>
<a:animated_custom_emoji:741032442814791702>
:smiley:
😀
Lorem Ipsum dolor sit amet...
123456789';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php