Borrar código que sobra de los textarea en WordPress

aprende html

La tag HTML textarea es un modo estupendo de mostrar una lista larga de contenido sin que tu entrada se alargue hasta el infinito, pues restringe el contenido del texto contenido en la misma a una caja en la que tu defines el ancho y el largo de la misma. El problema es que añade códigos de sobra que seguro que no querrás mostrar.

O sea, que si introduces un textarea, digamos, así:

<textarea rows="10" cols="40">Aquí el texto larguísimo</textarea>

WordPress te muestra un truño de este estilo, con un montón de tags de párrafo (p), saltos de línea (br) y otros códigos HTML que no están en el texto original y que, por supuesto, no quieres que se vean

textarea sucio
textarea sucio

Si quieres solucionarlo es sencillo, solo tienes que añadir esto a tu plugin de funciones o archivo functions.php de tu tema activo, guardas los cambios y ya no tendrás más códigos sobrantes en tus textarea:

//Limpiar los textarea de br,p, y demás basura
function clean_textarea2($matches) {
	if ( is_array($matches) )
		$text = $matches[1] . $matches[2] . "</textarea>";
	else
		$text = $matches;

	$text = str_replace('<br />', '', $text);
	$text = str_replace('<p>', "\n", $text);
	$text = str_replace('</p>', '', $text);
	$text = str_replace('&#8220;', '"', $text);
	$text = str_replace('&#8221;', '"', $text);
	$text = str_replace('&#8216;', "'", $text);
	$text = str_replace('&#8217;', "'", $text);
	$text = str_replace('&#8242;', "'", $text);

	return $text;
}
function clean_textarea($pee, $br = 1) {
	if (strpos($pee, '<textarea') !== false)
		$pee = preg_replace_callback('!(<textarea.*?>)(.*?)</textarea>!is', 'clean_textarea2', $pee );
	return $pee;
}

add_filter('the_content', 'clean_textarea');

Obtienes un textarea limpito de porquería …

textarea limpio
textarea limpio

Si sigues Ayuda WordPress y te has fijado bien en el código en realidad lo que estamos haciendo es una sustitución de texto mediante str_replace, de manera que cuando encuentra un elemento indeseado lo sustituye por un espacio en blanco, algo similar a lo que ya hemos hecho para, por ejemplo, cambiar el saludo de WordPress sin modificar la traducción, quitar HTML de los comentarios, sustituir unas palabras por otras (precioso y útil para muchas cosas) y otros muchos trucos que ya hemos visto.

Otra posibilidad es desactivar el wpautop a voluntad, o probar con el plugin PS disable auto formatting, pero personalmente me parece mejor el método anterior, y funciona siempre.

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(2 votos, promedio: 5)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado.

2 comentarios en “Borrar código que sobra de los textarea en WordPress”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Ir arriba Ir al contenido