A continuación veremos 10 simples pero tremendamente útiles códigos PHP, que pueden sacarte de apuros, estoy seguro que mas de uno te servirá.
1. Buscar y reemplazar algo en una cadena (string)
El siguiente código sirve para buscar un texto o un caracter en una variable y reemplazarlo por otro, en el ejemplo se buscan todas las ‘-‘ y se reemplazan por espacios:
<?php
$texto = 'hola-mundo-que-hay';
$resultado = str_replace('-', ' ', $texto);
echo $resultado; // hola mundo que hay
?>
2. Hacer una comparacion ‘if else’ en linea (: ?)
La condicional ternaria es una alternativa al ‘if else’ tradicional, este tipo de comparación es mas simple y oportuna cuando no se necesita hacer algo tan complejo:
<?php
$var1 = 5;
$var2 = 1;
echo $var1 > $var2 ? 'var1 es mayor a var2' : 'vaa2 es mayor a var1'; // condicion ? true : false
?>
3. Obtener la URL en la que se esta
Usando las variables del tipo $_SERVER podemos obtener la url en la que el usuario esta actualmente, un uso podria ser comparar si se esta en cierta pagina y dependiendo de ello mostrar un contenido determinado:
<?php
$url = $_SERVER['HTTP_HOST'];
echo 'Estas en '.$url;
?>
4. Redireccion HTTP en PHP
Este código sirve para hacer una redireccion hacia otro sitio usando la función header(), recordad que esta función siempre tiene que ir antes que el HTML para que funcione.
<?php
header('Location: https://www.google.com'); // Te redireccionara a google
?>
5. Detectar en que navegador se esta
Con este código se obtiene la informacion completa del navegador que esta usando el visitante.
<?php
$useragent = $_SERVER['HTTP_USER_AGENT'];
echo "<b>Tu navegador es</b>: " . $useragent;
?>
6. Obtener la IP del usuario
El siguiente código sirve para obtener la dirección IP del usuario, esto no funciona en un servidor local.
<?php
$ip = $_SERVER['REMOTE_ADDR'];
echo $ip;
?>
7. Validacion de email en PHP
Útil para cuando trabajamos con formularios y necesitamos una validación segura del lado del servidor.
<?php
$email = $_POST['email'];
if(!preg_match("/^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/",$email)) {
echo 'Email invalido.';
}
?>
8. Enviar correos con cabaceras usando la funcion mail()
El siguiente código sirve para enviar un correo hacia un email definido en una variable, incluye cabeceras (headers)
<?php
$dest = "destinatario@gmail.com"; //Email de destino
$asunto = "Asunto"; //Asunto
$cuerpo = "Cuerpo del mensaje, puedes poner <b>HTML</b> aqui tambien"; //Cuerpo del mensaje
//Cabeceras del correo
$headers = "From: Juan juan@gmail.com\r\n"; //Quien envia?
$headers .= "X-Mailer: PHP5\n";
$headers .= 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; //
mail($dest,$asunto,$cuerpo,$headers);
?>
9. Hacer un loop simple
La solución para cuando necesitamos repetir algo un numero X de veces, en el ejemplo el texto se repetira 10 veces:
<?php
for($j = 0 ;$j < 10 ;$j++){
echo 'Esto se va a repetir 10 veces<br>';
}
?>
10. Contar cuantos caracteres o palabras hay en una cadena (string)
El primero cuenta cuantos caracteres hay en una variable, el segundo cuenta las palabras y el ultimo es una combinación de ambos:
<?php
// Para contar caracteres
$str = 'abcdef';
echo strlen($str); // 6
// Para contar palabras
$str2 = 'una dos tres palabras';
echo str_word_count($str2); // 4
// Ambos
$str3 = 'Hola mundo';
echo 'Hay '.strlen($str3).' caracteres y '.str_word_count($str3).' palabras'; // 10 y 2
?>
carlos dice
BuenÃsimos tips para tener a mano, y no tener que recordar todo el código. Gracias! Buen blog
Javier dice
Excelentes códigos, me llevo un par.
emmandeb dice
jaja tienes razón, estos extractos de código casi siempre para no decir que siempre, los utilizo en la mayorÃa de mis aplicaciones y la mera verdad resuelven una infinidad de problemas el chiste es saberlos aplicar bien, y muy buen, hay muchas personas que apenas empiezan y estos son muy buenos métodos para que no se rompan tanto la cabeza, bueno me despido que tengan un buen dia bloggers.
Luis Diego dice
Gracias!!, un post bastante objetivo!
vkictor dice
Hola un excelente blog aùn soy estudiante de ing en sistemas, quiero saber si dedicarme a desarrollador, programador de base de datos deja bastante dinero, o usted me puede sugerir en que me puedo especializar al finalizar la carrera………
CHAMO dice
DE ARQUIPUTO ESTARA BIEN MIENTRAS SE AREEGLA VENEZUELA :U
Julio dice
Buen dia, respecto al uso de fuction mail, quisiera saber cuantos formularios puedo enviar a traves de mi web, usando esa fuction, me explico, tengo una web donde en el modulo «bienvenido» y el modulo «soporte» tengo 2 formularios con diferentes capos, ambos en 2 bases de datos diferentes, con tablas diferentes, ademas de que ambos formularios los procesan 2 «action» diferentes, entonces porque solamente recibo en mi correo uno de los formularios?
El otro formulario envia los datos a mi phpmyadmin y tambien al correo, pero llegan en blanco los datos a mi correo. Les agradeceria ayuda.
Josue Ochoa dice
Eso depende de tu host, normalmente creo que te ponen un limita por dia / mes, sobre los formularios no te puedo ayudar con esa informacion, pon un comentario con tu codigo PHP.
Antonella dice
Muy buena sÃntesis…
Espero una nueva serie para aprendices y no tan aprendices 😉
iPixelEstudio dice
Muy buen aporte, me lo guardo en mis favoritos… 😉
Angelllo dice
Hola, me gusto mucho este post, me gustaria si es posible un poco de ayuda, quiero hacer un script para que me ponga en una columna de una tabla, de arriba hacia abajo todos los links que aparezcan en la pagina en cuestion, y que me diga su sin folow o no en la otra columna, ¿alguien sabe? Gracias!! (P,D. Me UUURRRGGGEEE!!!)
Josue Ochoa dice
Quieres hacer un query a una tabla que contiene una lista de links?
Angelllo dice
Hola, tengo este codigo que se supone me debe mostrar todos los links de una pagina web pero me da error, alguien sabe que podra ser? gracias
<?PHP
$page = 0;
$URL = "http://ejemplo.com/";
$page = @FOPEN($URL, "r");
PRINT("Links at $URL\n»);
PRINT(«\n»);
WHILE(!FEOF($page)) {
$line = FGETS($page, 255);
WHILE(EREGI(«HREF=\»[^\»]*\»», $line, $match)) {
PRINT(«»);
PRINT($match[0]);
PRINT(«\n»);
$replace = EREG_REPLACE(«\?», «\?», $match[0]);
$line = EREG_REPLACE($replace, «», $line);
}
}
PRINT(«\n»);
FCLOSE($page);
?>
Nery Gomez dice
Genial, muy buenos codigos…
CHAMO dice
>:u…. cállese boba maricona ….chupona… nadie pidió su opinión desgraciad@ hijo de muchas putas viemnamitas…. pppppppppuuuuuuuuuuuuuuuuuuuuuuuutttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaa peeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrraaaaaaaaaaaaaaaaaaaaaa…. >:U
diana dice
Felicidades, tu blog es muy bueno, muy claro e interesante.
diana dice
oye, podrÃa auxiliarme con un codigo en php para obtener la primer consonante de una palabra? tengo idea pero al final no la puedo concretar, gracias de antemano
josueochoa dice
Hazlo con substr: http://www.php.net/substr
Luis dice
Genial men buen post , si depronto tienes un codigo en php par que solo me valide letras y otro que solo valide numeros porfa gracias
Davidom dice
Hola que tal Josue, antes que nada gracias por esta información, quiero preguntarte lo siguiente: Estoy desarrollando una aplicación en Android que obtiene mi posición mediante el gps del teléfono y le voy enviando mi dirección a un servidor remoto, esto se lo envÃo a mi archivo mediante POST en php el cual lo recibe y lo guarda en una variable y después hago la conexión mi base de datos en mysql para guardarlo, pero ahora que que he estado revisando mi base de datos me estoy dando cuenta que me repite la misma dirección varias veces hasta 15 veces aparece la misma dirección con diferencia de solo segundos. Entonces lo que quiero es leer el valor de mi dirección y condicionarla a que si es la misma no la guarde en mi base de datos. Espero me puedas ayudar gracias.