Switch language

wpseek.com
A WordPress-centric search engine for devs and theme authors




_wp_specialchars [ WordPress Function ]

_wp_specialchars ( $string, $quote_style = ENT_NOQUOTES, $charset = false, $double_encode = false )
Parameters:
  • (string) $string The text which is to be encoded.
  • (mixed) $quote_style Optional. Converts double quotes if set to ENT_COMPAT, both single and double if set to ENT_QUOTES or none if set to ENT_NOQUOTES. Also compatible with old values; converting single quotes if set to 'single', double if set to 'double' or both if otherwise set. Default is ENT_NOQUOTES.
  • (string) $charset Optional. The character encoding of the string. Default is false.
  • (boolean) $double_encode Optional. Whether to encode existing html entities. Default is false.
Returns:
  • (string) The encoded text with HTML entities.
Defined at:



Converts a number of special characters into their HTML entities.

Specifically deals with: &, <, >, ", and '.

$quote_style can be set to ENT_COMPAT to encode " to ", or ENT_QUOTES to do both. Default is ENT_NOQUOTES where no quotes are encoded.

Source


<?php
function _wp_specialchars$string$quote_style ENT_NOQUOTES$charset false$double_encode false ) {
    
$string = (string) $string;

    if ( 
=== strlen$string ) )
        return 
'';

    
// Don't bother if there are no specialchars - saves some processing
    
if ( ! preg_match'/[&<>"\']/'$string ) )
        return 
$string;

    
// Account for the previous behaviour of the function when the $quote_style is not an accepted value
    
if ( empty( $quote_style ) )
        
$quote_style ENT_NOQUOTES;
    elseif ( ! 
in_array$quote_style, array( 023'single''double' ), true ) )
        
$quote_style ENT_QUOTES;

    
// Store the site charset as a static to avoid multiple calls to wp_load_alloptions()
    
if ( ! $charset ) {
        static 
$_charset;
        if ( ! isset( 
$_charset ) ) {
            
$alloptions wp_load_alloptions();
            
$_charset = isset( $alloptions['blog_charset'] ) ? $alloptions['blog_charset'] : '';
        }
        
$charset $_charset;
    }

    if ( 
in_array$charset, array( 'utf8''utf-8''UTF8' ) ) )
        
$charset 'UTF-8';

    
$_quote_style $quote_style;

    if ( 
$quote_style === 'double' ) {
        
$quote_style ENT_COMPAT;
        
$_quote_style ENT_COMPAT;
    } elseif ( 
$quote_style === 'single' ) {
        
$quote_style ENT_NOQUOTES;
    }

    
// Handle double encoding ourselves
    
if ( $double_encode ) {
        
$string = @htmlspecialchars$string$quote_style$charset );
    } else {
        
// Decode &amp; into &
        
$string wp_specialchars_decode$string$_quote_style );

        
// Guarantee every &entity; is valid or re-encode the &
        
$string wp_kses_normalize_entities$string );

        
// Now re-encode everything except &entity;
        
$string preg_split'/(&#?x?[0-9a-z]+;)/i'$string, -1PREG_SPLIT_DELIM_CAPTURE );

        for ( 
$i 0$i count$string ); $i += )
            
$string[$i] = @htmlspecialchars$string[$i], $quote_style$charset );

        
$string implode''$string );
    }

    
// Backwards compatibility
    
if ( 'single' === $_quote_style )
        
$string str_replace"'"'&#039;'$string );

    return 
$string;
}
?>

Examples [ wp-snippets.com ]

Top Google zoekresultaten

Meer ...

Gebruikersdiscussies [ wordpress.org ]

0 User Note(s)

Nog geen één. Wees de eerste!

Nieuw toevoegen ...



HTML5 Powered with CSS3 / Styling, Performance & Integration, and Semantics