Funciones que suelo usar para tratamiento de cadenas de texto

Las suelo tener en una clase pero las separo en funciones básicas para que sea más fácil copiar y pegar la que se necesite en cada uso.

Para limpiar código html que han pegado directamente desde Word. Suele ocurrir sobretodo en editores antiguos tipo wysiwyg que copiaban directamente desde el Word y metía toda la morralla que usa Word para dar estilos, con lo que luego al mostrarlo en la web se veía bastante mal. Esta función elimina todas las etiquetas que suele meter Word para que no pase.

function limpia_word($html) {
	$html = ereg_replace("<(/)?(font|span|del|ins)&#91;^>]*>","",$html);
	$html = ereg_replace("<(&#91;^>]*)(class|lang|style|size|face)=(\"[^\"]*\"|'[^']*'|[^>]+)([^>]*)>","<\\1>",$html);
	$html = ereg_replace("<(&#91;^>]*)(class|lang|style|size|face)=(\"[^\"]*\"|'[^']*'|[^>]+)([^>]*)>","<\\1>",$html);
	return $html;
}

* donde pone (&#91;^>]*) en realidad es ([^>]*) , el pugin que uso para generar la vista tipo código lo modifica por esos simbolos.

Crear un slug a partir de una cadena y poder usarla así como url de una página.

function slug($str, $length) {
	$str = substr($str, 0, $length);
	$characters = array(
		"Á" => "A", "Ç" => "c", "É" => "e", "Í" => "i", "Ñ" => "n", "Ó" => "o", "Ú" => "u",
		"á" => "a", "ç" => "c", "é" => "e", "í" => "i", "ñ" => "n", "ó" => "o", "ú" => "u",
		"à" => "a", "è" => "e", "ì" => "i", "ò" => "o", "ù" => "u"
	);
	$str = strtr($str, $characters);
	$str = strtolower(trim($str));
	$str = preg_replace("/[^a-z0-9-]/", "-", $str);
	$str = preg_replace("/-+/", "-", $str);
	if(substr($str, strlen($str) - 1, strlen($str)) === "-") {
		$str = substr($str, 0, strlen($str) - 1);
	}
    return $str;
}

Cortar una cadena de texto sin cortar palabras, lo que hace es cortar por el espacio anterior que encuentre y añadir 3 puntos suspensivos al finalizar para indicar que el texto continúa:

function corta_string($string, $maxlength)
{
	$string = wordwrap(strip_tags($string), $maxlength, '|');
	$string = explode("|", $string);
	return $string[0] . ((isset($string[1]))?'...':'');
}
Dejar un comentario?

0 Comentarios.

Deje un comentario


NOTA - Puede usar estosHTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.