fork download
  1. <?php
  2.  
  3. $emoticons = array(
  4. ':)' => '<img src="assets/smiles/smilesblank.png" alt="smile" class="img-responsive" />',
  5. ':-)' => '<img src="assets/smiles/smilesblank.png" alt="smile" class="icon_smile" />',
  6. ':D' => '<img src="assets/smiles/smilesblank.png" alt="smile" class="icon_laugh" />',
  7. ':d' => '<img src="assets/smiles/smilesblank.png" alt="laugh" class="icon_laugh" />',
  8. ';)' => '<img src="assets/smiles/smilesblank.png" alt="wink" class="icon_wink" />',
  9. ':P' => '<img src="assets/smiles/smilesblank.png" alt="tounge" class="icon_tounge" />',
  10. ':-P' => '<img src="assets/smiles/smilesblank.png" alt="tounge" class="icon_tounge" />',
  11. ':-p' => '<img src="assets/smiles/smilesblank.png" alt="tounge" class="icon_tounge" />',
  12. ':p' => '<img src="assets/smiles/smilesblank.png" alt="tounge" class="icon_tounge" />',
  13. ':(' => '<img src="assets/smiles/smilesblank.png" alt="sad face" class="icon_sad" />',
  14. ':o' => '<img src="assets/smiles/smilesblank.png" alt="shock" class="icon_shock" />',
  15. ':O' => '<img src="assets/smiles/smilesblank.png" alt="shock" class="icon_shock" />',
  16. ':0' => '<img src="assets/smiles/smilesblank.png" alt="shock" class="icon_shack" />',
  17. ':|' => '<img src="assets/smiles/smilesblank.png" alt="straight face" class="icon_straight" />',
  18. ':-|' => '<img src="assets/smiles/smilesblank.png" alt="straight face" class="icon_straight" />',
  19. ':/' => '<img src="assets/smiles/smilesblank.png" alt="straight face" class="icon_straight" />',
  20. ':-/' => '<img src="assets/smiles/smilesblank.png" alt="straight face" class="icon_straight" />'
  21. );
  22.  
  23. array_multisort(array_map('strlen', array_keys($emoticons)), SORT_DESC, $emoticons); // IN DESCENDING ORDER
  24. $pattern = '~' . implode("|", array_map(function($x) {return preg_quote($x, '~');}, array_keys($emoticons))) . '~';
  25. echo preg_replace_callback($pattern, function($m) use ($emoticons) {
  26. return $emoticons[$m[0]];
  27. }, "Some :| emoticon :O");
Success #stdin #stdout 0.01s 23904KB
stdin
Standard input is empty
stdout
Some <img src="assets/smiles/smilesblank.png" alt="straight face" class="icon_straight" /> emoticon <img src="assets/smiles/smilesblank.png" alt="shock" class="icon_shock" />