Posts tagged snippet
jQuery: detectar cuando se copia, pega o corta
0Señoras y señores, les juro que no he sido capaz de encontrar la documentación de estos tres eventos en la api de jQuery, pero ahí están y funcionan!
Testeado en FF, Chrome, IE7 IE8
$(document).ready(function() {
$("#mi-textarea").bind('copy', function(e) {
alert('Copiando!');
});
$("#mi-textarea").bind('paste', function(e) {
alert('repartiendo!... digo, pegando!');
});
$("#mi-textarea").bind('cut', function(e) {
alert('Cortando!');
});
});
Reemplazar la ñ, acentos, espacios y caracteres especiales con PHP [Actualizada]
10
/**
* Reemplaza todos los acentos por sus equivalentes sin ellos
*
* @param $string
* string la cadena a sanear
*
* @return $string
* string saneada
*/
function sanear_string($string)
{
$string = trim($string);
$string = str_replace(
array('á', 'à', 'ä', 'â', 'ª', 'Á', 'À', 'Â', 'Ä'),
array('a', 'a', 'a', 'a', 'a', 'A', 'A', 'A', 'A'),
$string
);
$string = str_replace(
array('é', 'è', 'ë', 'ê', 'É', 'È', 'Ê', 'Ë'),
array('e', 'e', 'e', 'e', 'E', 'E', 'E', 'E'),
$string
);
$string = str_replace(
array('í', 'ì', 'ï', 'î', 'Í', 'Ì', 'Ï', 'Î'),
array('i', 'i', 'i', 'i', 'I', 'I', 'I', 'I'),
$string
);
$string = str_replace(
array('ó', 'ò', 'ö', 'ô', 'Ó', 'Ò', 'Ö', 'Ô'),
array('o', 'o', 'o', 'o', 'O', 'O', 'O', 'O'),
$string
);
$string = str_replace(
array('ú', 'ù', 'ü', 'û', 'Ú', 'Ù', 'Û', 'Ü'),
array('u', 'u', 'u', 'u', 'U', 'U', 'U', 'U'),
$string
);
$string = str_replace(
array('ñ', 'Ñ', 'ç', 'Ç'),
array('n', 'N', 'c', 'C',),
$string
);
//Esta parte se encarga de eliminar cualquier caracter extraño
$string = str_replace(
array("\\", "¨", "º", "-", "~",
"#", "@", "|", "!", "\"",
"·", "$", "%", "&", "/",
"(", ")", "?", "'", "¡",
"¿", "[", "^", "`", "]",
"+", "}", "{", "¨", "´",
">", "<", ";", ",", ":",
".", " "),
'',
$string
);
return $string;
}
Ejemplo de uso:
echo sanear_string("áàäâªÁÀÂÄdoéèëêÉÈÊËreíìïîÍÌÏÎmióòöôÓÒÖÔfaúùüûÚÙÛÜsolñÑçÇlasi\\¨º-~#@|!\,·$%&/()?¡¿[^`]+}{¨´><;,:. ");
Lo anterior imprime “aaaaaAAAAdoeeeeEEEEreiiiiIIIImiooooOOOOfauuuuUUUUsolnNcClasi“
Drupal 6: El tag http-equiv=”Content-type” de sale duplicado
2
Un curioso bug en Drupal y de facil solucion. Solamente tenes que poner el siguiente snippet en el template.php de tu theme o bien en algún modulo de tu propia factoría
function TU_THEME_preprocess_page(&$vars) {
$matches = array();
preg_match_all('/(]*>)/', $vars['head'], $matches);
if (count($matches) >= 2) {
$vars['head'] = preg_replace('/]*>/', '', $vars['head'], 1); // strip 1 only
}
}
JS: Como saber si un objeto undefined está undefined
0Suena a boludez:
if (objetoso == undefined) {
alert("objetoso no está definido.");
}
Pero lo anterior no te va a funcionar porque al querer comparar un objeto que está indefinido, el navegador va a arrojarte un error :S
La forma correcta de hacer esta comprobación entonces es:
if (typeof(objetoso) === "undefined") {
alert("objetoso no está definido.");
}
Y ya nos evitamos que se rompa todo por culpa de un objeto indefinido…
Bye.
Notas rápidas de strpos() (PHP)
3Strpos() devuelve la posición del primer caracter de la palabra que estamos buscando.
Ejemplos:
//en la posición 0
if ($posicion = strpos("hola mundo", "hola") !== FALSE) {
echo "Palabra encontrada en la posición $posicion";
}
//en la posición 9
if ($posicion = strpos("he dicho hola mundo!", "hola") !== FALSE) {
echo "Palabra encontrada en la posición $posicion";
}
Nunca hay que olvidar de hacer la comparación del resultado con comparaciones estrictas (“===”, “!==”) para evitar falsos positivos o negativos.
