How can I stop TinyMCE from converting my HTML entities to characters?

Here’s the problem: I paste the HTML entity code for, let’s say, a service mark () into the HTML view of the editor. As soon as I switch to the “visual” tab, my entity code is turned into an actual service mark character (I guess the corresponding UTF-8 character or something? I don’t know from character encodings…). I don’t want this–I want it to stay as the entity reference.

Is there some kind of configuration I can change to stop TinyMCE from doing this? My understanding from reading the internets is that this is not the default behavior–that TinyMCE should actually be doing the opposite, and converting characters to their entities. So is this something specific to WordPress’ version of TinyMCE?

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

According to this page, you can use the tiny_mce_before_init filter, make sure the entity encoding is set to named, and then add whichever special characters you want to the entities array.

Method 2

Thanks, fdsa!

For posterity, here’s the actual code I used. It adds copyright, registered, trademark, service mark and euro to the array of allowed entities. I’m confused as to why some of these aren’t in there by default, as they’re really common. But in any case, this works:

// Custom configuration for TinyMCE
function wpsx_54398_configure_tiny_mce( $initArray ) {

    // Add some common entities to the default array (copy, reg, trade, service mark, euro)
    // The odd entires are the entity *number*, the even entries are the entity *name*. If the entity has no name,
    // use the number, prefixed with a hash (for example, the service mark is "8480,#8480").
    $initArray['entities'] = $initArray['entities'] . ',169,copy,174,reg,8482,trade,8480,#8480,8364,euro';

    return $initArray;

}
add_filter('tiny_mce_before_init', 'wpsx_54398_configure_tiny_mce');


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x