translate_smiley() – Converts one smiley code to the icon graphic file equivalent.

You appear to be a bot. Output may be restricted

Description

Converts one smiley code to the icon graphic file equivalent.

Callback handler for convert_smilies(). Looks up one smiley code in the $wpsmiliestrans global array and returns an <img> string for that smiley.

Usage

$string = translate_smiley( $matches );

Parameters

$matches
( array ) required – Single match. Smiley code to convert to image.

Returns

string Image string for smiley.

Source

File name: wordpress/wp-includes/formatting.php


Lines:

1 to 35 of 35
function translate_smiley( $matches ) {
  global $wpsmiliestrans;

  if ( count( $matches ) === 0 ) {
    return '';
  }

  $smiley = trim( reset( $matches ) );
  $img    = $wpsmiliestrans[ $smiley ];

  $matches    = array();
  $ext        = preg_match( '/\.([^.]+)$/', $img, $matches ) ? strtolower( $matches[1] ) : false;
  $image_exts = array( 'jpg', 'jpeg', 'jpe', 'gif', 'png', 'webp' );

  // Don't convert smilies that aren't images - they're probably emoji.
  if ( ! in_array( $ext, $image_exts, true ) ) {
    return $img;
  }

  
/**
 * Filters the Smiley image URL before it's used in the image element.
 *
 * @since 2.9.0
 *
 * @param string $smiley_url URL for the smiley image.
 * @param string $img        Filename for the smiley image.
 * @param string $site_url   Site URL, as returned by site_url().
 */
  $src_url = apply_filters( 'smilies_src', includes_url( "images/smilies/$img" ), $img, site_url() );

  return sprintf( '<img src="%s" alt="%s" class="wp-smiley" style="height: 1em; max-height: 1em;" />', esc_url( $src_url ), esc_attr( $smiley ) );
}
 

 View on GitHub View on Trac