PHP str_replace()
fue diseñado solo para cadenas ANSI y, como tal, puede manipular cadenas UTF-8. Sin embargo, dado que es binario-seguro, ¿funcionaría correctamente si solo se le asignaran cadenas válidas UTF-8 como argumentos?¿Se puede usar str_replace de manera segura en una cadena codificada en UTF-8 si solo se le asignan cadenas codificadas como UTF-8 como argumentos?
Editar: No estoy buscando una función de reemplazo, solo me gustaría saber si esta hipótesis es correcta.
¿Está absolutamente seguro de que su cuerpo de correo electrónico está debidamente codificado en UTF-8? – Gumbo
Sí, absolutamente positivo. He tenido una experiencia extraña cuando uso el explode() antes. Un ejemplo simplificado: función ech1 ($ var) {echo $ var; } función ech2 ($ var) {$ parts = explode ("|", $ var); echo $ parts [1];} echo1 ($ var); // sin problemas // ahora obtenemos una cadena de resultados concatenados de db ("Bjorn | Weckström") y usamos la segunda función echo2 ($ concatenado); Una versión de explosión() - romperá el UTF totalmente cada vez. Y esto también es para la web, no solo para correo. EDITAR: perdón por la pérdida de formato – karvonen
Puedo afirmar esto: 'str_replace' mata por completo las cadenas UTF8, y no conozco ninguna forma de evitarlo. – csvan