translate = array( '#lt#' => '<', '#le#' => '≤', '#gt#' => '>', '#ge#' => '≥', '#amp#' => '&', '#lbrack#' => '[', '#rbrack#' => ']', '#lbrace#' => '{', '#rbrace#' => '}', '#bigSZ#' => 'ẞ', // german big Letter of ß '#quot#' => '"', '#34#' => "'", '#bdquo#' => "„", '#rdquo#' => "”", '#ctemp#' => '℃', // Degree in Celcius '#ftemp#' => '℉', // Degree in Fahrenheit '#copy#' => '©', // Copyright '#reg#' => '®', // Registermark '#trade#' => '™', // Trademark '#br#' => '
', // linebreak '#shy#' => '­', // Softhyphen '#nbsp#' => ' ', // non breaking spaces '#sbsp#' => ' ', // small non breaking spaces '#nbhyp#' => '‑', // non breaking hyphen '#ndash#' => '–', // dash with n-letter width '#mdash#' => '—', // dash with m-letter width '#horbar#' => '―', // horizontal bar '#1/2#' => '½', '#1/3#' => '⅓', '#2/3#' => '⅔', '#1/4#' => '¼', '#3/4#' => '¾', '#1/5#' => '⅕', '#2/5#' => '⅖', '#3/5#' => '⅗', '#4/5#' => '⅘', ); add_filter( 'the_content', array( $this, 'handler_the_content' ), 9999999, 1 ); add_filter( 'avf_text_to_preview', array( $this, 'handler_the_content' ), 9999999, 1 ); /** * Allows to translate special characters also in ALB codeblock element * (suggested by Guenni007) * * @since 1.1.3 */ add_filter( 'avf_template_builder_content', array( $this, 'handler_the_content' ), 9999999, 1 ); /** * Allow shortcode attributes to translate special characters (e.g. for attribute content used in js) * * @since 1.1.2 */ add_filter( 'avf_sc_attr_value', array( $this, 'handler_the_content' ), 9999999, 1 ); /** * @since 1.1 */ add_filter( 'avf_form_subject', array( $this, 'handler_the_content' ), 9999999, 1 ); add_filter( 'avf_form_mail_form_field', array( $this, 'handler_the_content' ), 9999999, 1 ); add_filter( 'avf_contact_form_autoresponder_mail', array( $this, 'handler_avf_autoresponder_mail' ), 9999999, 4 ); } /** * * @since 1.0.0 */ public function __destruct() { unset( $this->translate ); } /** * Replace the special characters * * @since 1.0.0 * @param string $content * @return string */ public function handler_the_content( $content ) { /** * Add additional special characters to translate * * @since 1.0.0 * @param array $this->translate * @return array */ $this->translate = apply_filters( 'avia_special_characters_translations', $this->translate ); $search = array_keys( $this->translate ); $replace = array_values( $this->translate ); $new_content = str_replace( $search, $replace, $content ); return $new_content; } /** * * @since 1.1.1 * @param array $mail_array * @param array $new_post * @param array $form_params * @param avia_form $form * @return array */ public function handler_avf_autoresponder_mail( array $mail_array, array $new_post, array $form_params, avia_form $form ) { $check = [ 'Subject', 'Message' ]; foreach( $check as $key ) { if( isset( $mail_array[ $key ] ) ) { $mail_array[ $key ] = $this->handler_the_content( $mail_array[ $key ] ); } } return $mail_array; } } /** * Returns the main instance of avia_special_characters to prevent the need to use globals * * @since 1.1 * @return avia_special_characters */ function AviaSpecialCharacters() { return avia_special_characters::instance(); } AviaSpecialCharacters(); } // class exists