How to toggle HTML entities
I found this interesting problem yesterday. I don’t see any practical use case, but still it is a nice one and it could be used in a test about problem solving skills. The following function is based on Karolis’ solution, which was the cleanest.
function toggle_html_entities($subject)
{
return preg_replace('/(.*?)(<.*?>|$)/se',
'html_entity_decode("$1").htmlentities("$2")', $subject);
}
The interesting thing is that it’s a real toggle, meaning that
$subject == toggle_html_entities(toggle_html_entities($subject))