convert_smilies()
最后更新于:2021-11-25 22:00:23
convert_smilies( string$text)Convert text equivalent of smilies to images.
参数
- $text
-
(string) (Required) Content to convert smilies from text.
响应
(string) Converted content with text smilies replaced with images.
源文件
文件: gc-includes/formatting.php
function convert_smilies( $text ) {
global $gc_smiliessearch;
$output = '';
if ( get_option( 'use_smilies' ) && ! empty( $gc_smiliessearch ) ) {
// HTML loop taken from texturize function, could possible be consolidated.
$textarr = preg_split( '/(<.*>)/U', $text, -1, PREG_SPLIT_DELIM_CAPTURE ); // Capture the tags as well as in between.
$stop = count( $textarr ); // Loop stuff.
// Ignore proessing of specific tags.
$tags_to_ignore = 'code|pre|style|script|textarea';
$ignore_block_element = '';
for ( $i = 0; $i < $stop; $i++ ) {
$content = $textarr[ $i ];
// If we're in an ignore block, wait until we find its closing tag.
if ( '' === $ignore_block_element && preg_match( '/^<(' . $tags_to_ignore . ')[^>]*>/', $content, $matches ) ) {
$ignore_block_element = $matches[1];
}
// If it's not a tag and not in ignore block.
if ( '' === $ignore_block_element && strlen( $content ) > 0 && '<' !== $content[0] ) {
$content = preg_replace_callback( $gc_smiliessearch, 'translate_smiley', $content );
}
// Did we exit ignore block?
if ( '' !== $ignore_block_element && '</' . $ignore_block_element . '>' === $content ) {
$ignore_block_element = '';
}
$output .= $content;
}
} else {
// 响应 default text.
$output = $text;
}
return $output;
}