texto strip_tags remove quitar para limpiar funcion etiquetas ejemplo php utf-8 character-encoding mojibake

php - remove - strip_tags wordpress



Obteniendo â € ™ en lugar de un apóstrofe('') en PHP (13)

Asegúrese de que su encabezado html especifique utf8

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Eso usualmente hace el truco para mí (obviamente si el contenido es utf8).

No es necesario convertir a entidades html si configura el tipo de contenido.

He intentado convertir el texto a o desde utf8, que no parece ayudar.

Me estoy poniendo:

"It’s Getting the Best of Me"

Debería ser:

"It’s Getting the Best of Me"

Estoy obteniendo estos datos de esta url.


Miré el enlace y me parece a UTF-8. es decir, en Firefox, si selecciona Ver, Codificación de caracteres, UTF-8, aparecerá correctamente.

Por lo tanto, solo necesita descubrir cómo obtener su código PHP para procesarlo como UTF-8. ¡Buena suerte!


Para fopen y file_put_contents , esto funcionará:

str_replace("&rsquo;", "''", htmlspecialchars_decode(mb_convert_encoding($string_to_be_fixed, "HTML-ENTITIES", "UTF-8")));


Para convertir a entidades HTML:

<?php echo mb_convert_encoding( file_get_contents(''http://www.tvrage.com/quickinfo.php?show=Surviver&ep=20x02&exact=0''), "HTML-ENTITIES", "UTF-8" ); ?>

Consulte la documentación para mb_convert_encoding para ver más opciones de codificación.


Parece que está usando funciones de cadena estándar en un carácter UTF8 ('') que no existe en ISO 8859-1 . Compruebe que está utilizando la configuración y las funciones de PHP compatibles con Unicode . Véase también las funciones de cadena multibyte .


Sé que la pregunta fue respondida, pero establecer una metaetiqueta no ayudó en mi caso y la respuesta seleccionada no fue lo suficientemente clara, así que quería proporcionar una respuesta más simple.

Así que para mantenerlo simple, almacene la cadena en una variable y procese de esta manera

$TVrageGiberish = "It’s Getting the Best of Me"; $notGiberish = mb_convert_encoding($TVrageGiberish, "HTML-ENTITIES", ''UTF-8''); echo $notGiberish;

Lo que debería devolver lo que querías. It''s Getting the Best of Me

Si está analizando algo, puede realizar la conversión mientras asigna valores a una variable como esta, donde $TVrage es una matriz con todos los valores, XML en este ejemplo de una fuente que tiene la etiqueta "Título" que puede contener caracteres especiales como ‘ o ’ .

$cleanedTitle = mb_convert_encoding($TVrage->title, "HTML-ENTITIES", ''UTF-8'');


Si está aquí porque está experimentando problemas con los caracteres no deseados en su sitio de WordPress, intente esto:

  1. Abre wp-config.php

  2. Comentario fuera define(''DB_CHARSET'', ''utf8'') y define(''DB_COLLATE'', '''')

    /** MySQL hostname */ define(''DB_HOST'', ''localhost''); /** Database Charset to use in creating database tables. */ //define(''DB_CHARSET'', ''utf8''); /** The Database Collate type. Don''t change this if in doubt. */ //define(''DB_COLLATE'', '''');


Si todo parece no funcionar, esta podría ser tu mejor solución.

<?php $content="It’s Getting the Best of Me"; $content = str_replace("’", "&#39;", $content); echo $content; ?>

== o ==

<?php $content="It’s Getting the Best of Me"; $content = str_replace("’", "''", $content); echo $content; ?>


Solo prueba esto

Si $text contiene caracteres extraños haga esto:

$mytext = mb_convert_encoding($text, "HTML-ENTITIES", ''UTF-8'');

y has terminado ..


Tu contenido está bien; El problema es con los encabezados que el servidor está enviando:

Connection:Keep-Alive Content-Length:502 Content-Type:text/html Date:Thu, 18 Feb 2010 20:45:32 GMT Keep-Alive:timeout=1, max=25 Server:Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.7 with Suhosin-Patch X-Powered-By:PHP/5.2.4-2ubuntu5.7

Tipo de contenido debe configurarse en Content-type: text/plain; charset=utf-8 Content-type: text/plain; charset=utf-8 , porque esta página no es HTML y usa la codificación utf-8. Chromium en Mac adivina ISO-8859-1 y muestra los caracteres que está describiendo.

Si no tiene el control del sitio, especifique la codificación como UTF-8 para cualquier función que use para recuperar el contenido. No estoy lo suficientemente familiarizado con PHP para saber exactamente cómo.


Tuvimos éxito yendo en la otra dirección usando esto:

mb_convert_encoding($text, "HTML-ENTITIES", "ISO-8859-1");


prueba esto :

html_entity_decode(mb_convert_encoding(stripslashes($text), "HTML-ENTITIES", ''UTF-8''))


utilizar esta

<meta http-equiv="Content-Type" content="text/html; charset=utf8_unicode_ci" />

en lugar de esto

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />