Apply a filter str_replace on specific caracters array in the_content()
You could obtain what you need like this: function str_replace_special_caracter($content) { // My array of special caracters to get <sup> $specialCaracters = array(‘®’, ‘™’); foreach( $specialCaracters as $character ){ $content = preg_replace( ‘@(‘ . preg_quote( $character, ‘@’ ) . ‘)@i’, “<sup>\\1</sup>”, $content ); } // Return return $content; } add_filter( ‘the_content’, ‘str_replace_special_caracter’, 99 );