Juan Carlos Clemente
1986-06-13
zetta
Website Photo
zetta

Function Slug

July 17th, 2008

Todos hemos visto que cada vez mas paginas en internet utilizan mod_rewrite para crear direcciones mas amigables, bueno por lo general se utilizan slugs para que el servidor sepa cual es el artículo que queremos leer (en lugar de enviar id).

1
2
3
function slug($str){
   return eregi_replace("_+","_",eregi_replace("[^a-z0-9\-]",'_',strtolower(trim($str))));
}

A esta función solo hace falta pasarle un string para que nos genere lo que necesitamos.

wordpress plugin.codecolorer.mod(spoiler)

October 25th, 2007

Hace un par de díias un amigo me dijo que la página se comenzaba a ver muy fea y cada vez se entendia menos, pues se veia código por todas partes, me sugirió crear spoilers en los cuadros de có para que ya no se vea tan feo, he aqui lo que hice

Primero que nada estaba utilizando el plugin de codecolorer hay que buscar el archivo codecolorer.php y modificar algunas lineas

Los números de línea son un estimado

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//declaramos una varibale al inicio de la clase //->linea 75
var $uniqueId = 0;

//dentro de la funcion init()  //linea ->
$this->uniqueId = time();

///modifique la funcion addContainer()  y ahora quedo asi

function addContainer($html, $options, $num_lines) {
if($num_lines > $options['lines'])
$style = ' style="height:' . ($options['lines'] * $options['line_height']) . 'px; visibility: hidden;  display: none; "';
elseif($num_lines == 1)
$style = ' style="height:' . intval(2.5 * $options['line_height']) . 'px; visibility: hidden; display: none; "';
else
$style = ' style=" visibility: hidden; display: none; " ';
$this->uniqueId++;

$result = '
<p class="spoiler"><a onclick="spoiler(\''
.$this-&gt;uniqueId.'\'); return false;" href="#">Mostrar/Ocultar código '.$options['lang'].'</a>';
$result .= '
<div id="'
.$this-&gt;uniqueId.'" class="codecolorer-container ' . $options['lang'] . '">' . $html . '</div>
'
;

return $result;
}

La funcion de javascript para que se muestren los bloques

1
2
3
4
5
6
7
8
9
10
11
function spoiler(a){
var tar = document.getElementById(a);
if( tar.style.visibility == 'hidden' ){
tar.style.visibility = 'visible';
tar.style.display = 'block';
}else{
tar.style.visibility = 'hidden';
tar.style.display = 'none';
}
return;
}

y para que no se vea tan mal el link un poquito de css

1
2
.spoiler a, .spoiler a:link, .spoiler a:visited{ color: #FFF; }
.spoiler a:hover{ color: #EEE; }

La idea era hacerlo con mootools, pero despues me dio un poco de pereza jeje

function validMail.php

October 8th, 2007

Muchas veces tengo que comprobar si un correo que escriben en algun formulario es un correo válido, algunas otras veces esto se complica pues algunas expresiones regulares pueden ser fácilmente engañadas con un a@a.a, con esta función podemos verificar mas a fondo si este es un correo real.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/*
validMail():Boolean
@email -&gt; string: email a comparar
@validate -&gt; Boolean: conectarse al servidor a buscar dicho usuario
*/

function validMail($email,$validate = false) {
if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email))
return false;
if ($validate){
list ( $Username, $Domain ) = split ("@",$email);
if (getmxrr($Domain, $MXHost))
$ConnectAddress = $MXHost[0];
else
$ConnectAddress = $Domain;
$Connect = fsockopen( $ConnectAddress, 25 );
if ($Connect) {
if (ereg("^220", $Out = fgets($Connect, 1024))) {
fputs ($Connect, "HELO $HTTP_HOST\r\n");
$Out = fgets ( $Connect, 1024 );
fputs ($Connect, "MAIL FROM: &lt;{$email}&gt;\r\n");
$From = fgets ( $Connect, 1024 );
fputs ($Connect, "RCPT TO: &lt;{$email}&gt;\r\n");
$To = fgets ($Connect, 1024);
fputs ($Connect, "QUIT\r\n");
fclose($Connect);
if (!ereg ("^250", $From) || !ereg ( "^250", $To )) {
return false;
}
}else{
return false;
}
}else{
return false;
}
}
return true;
}

?&gt;