Codificar em entities apenas “letras” – php
Precisei disso.. e ai a função htmlentities() do php, não era capaz de me atender.
Pelo menos eu, não vi se é possível ignorar os outros símbolos com essa função, para que ela faça o entitie apenas das letras.
Foi então que vi este comentário no manual:
http://www.php.net/manual/en/function.htmlentities.php#102363
Tudo oque eu precisava. Ai restou o trabalho, de escrever uma rotina para fazer o replace das letras com acentos, para o entitie de cada uma delas. Separei em 2 arrays, e pronto:
<?php
$str = "'homeMessageTitle' => __('Atendimento online, fácil e rápido!', 'saas'),";
$vogais = array(
'À', 'à', 'Á', 'á', 'Â', 'â', 'Ã', 'ã', 'Ä', 'ä', 'Å', 'å', 'Æ', 'æ',
'Ç', 'ç',
'Ð', 'ð', 'È', 'è', 'É', 'é', 'Ê', 'ê', 'Ë', 'ë',
'Ì', 'ì', 'Í', 'í', 'Î', 'î', 'Ï', 'ï',
'Ñ', 'ñ',
'Ò', 'ò', 'Ó', 'ó', 'Ô', 'ô', 'Õ', 'õ', 'Ö', 'ö', 'Ø', 'ø', 'Œ', 'œ',
'ß',
'Þ', 'þ',
'Ù', 'ù', 'Ú', 'ú', 'Û', 'û', 'Ü', 'ü',
'Ý', 'ý', 'Ÿ', 'ÿ'
);
$ent = array(
'À', 'à', 'Á', 'á', 'Â', 'â', 'Ã', 'ã', 'Ä', 'ä', 'Å', 'å', 'Æ', 'æ',
'Ç', 'ç',
'Ð', 'ð', 'È', 'è', 'É', 'é', 'Ê', 'ê', 'Ë', 'ë',
'Ì', 'ì', 'Í', 'í', 'Î', 'î', 'Ï', 'ï',
'Ñ', 'ñ',
'Ò', 'ò', 'Ó', 'ó', 'Ô', 'ô', 'Õ', 'õ', 'Ö', 'ö', 'Ø', 'ø', 'Œ', 'œ',
'ß',
'Þ', 'þ',
'Ù', 'ù', 'Ú', 'ú', 'Û', 'û', 'Ü', 'ü',
'Ý', 'ý', 'Ÿ', 'ÿ'
);
echo str_replace( $vogais, $ent, $str );
=)