Tag Archive for: expresiones

Como poner friendly URL a mi pagina

Categories: Otros, Posicionamiento - Tags: , , ,

¿Qué es Friendly URL?

Las friendly URL o URL amigable son direcciones fáciles de recordar, seguro hemos visto varias páginas web donde en vez de tener una dirección como esta

1
http://www.mysite.com/product.php?id=12344&active=1

Tienes direcciones mucho mas sencillas y entendibles, algo como esto:

1
http://www.mysite.com/tv-lcd-samsung

Ventajas de las URL amigables

En primer lugar son más fáciles de entender y memorizar pero aun mas importante los buscadores como google las indexan más fácilmente y dan mejores resultados de búsqueda.

Cómo uso friendly URL en mi sitio PHP

Para eso necesitamos un servidor que además de soportar PHP tenga activo el módulo “Rewrite Rules” (la mayoria de servidores actuales lo tiene) luego creamos un archivo .httaccess con un contenido como este:

1
2
3
4
5
6
7
Options +FollowSymLinks  
RewriteEngine On  
 
RewriteCond %{SCRIPT_FILENAME} !-d  
RewriteCond %{SCRIPT_FILENAME} !-f  
   
RewriteRule ^productos/(\d+)*$ ./product.php?id=$1

Lo que hace este script es enmascarar una dirección como product.php?id=2222 en algo como productos/222/miproducto, además los RewriteCond nos permite verificar que no se aplica si existiera realmente esa carpeta o archivo.

Esa es la forma más simple de usar Friendly URL aunque tambien es posible usando PHP

¿Qué ocurre con las rutas relativas?

Si usas rutas amigables del tipo misitio.com/categoria/miproducto
Las rutas relativas que antes llamaban a las imágenes, hojas de estilo y javascript dejan de funcionar ya que se asume que estás dentro de una carpeta la solución más simple desafortunadamente no funciona bien en IE6(cuando no)

1
<base href="http://www.misitio.com/">

Esa simple linea de codigo hace que el browser se olvide de tu ruta actual y unicamente use el path que asignas

Ya que la solución más práctica no es crossbrowser hay que cambiar todo a rutas absolutas para no tener que hacerlo a mano para ello creamos una constante con nuestro path absoluto

1
define("_mipath", "http://www.misitio.com/")

Y para agregarlo a nuestros archivos sería

1
<img src="<?=_path?>miimagen.jpg">

Hacerlo no es tan traumático como parece ya que imagino estás usando una web modular y basta modificar unos cuantos archivos sin web modular no veo como puedas usar url amigable

No se ven las tildes en mi pagina web

Categories: html - Tags: ,

Este es un error que me ocurría con cierta frecuencia, no sólo con las tildes además con la ñ, y ciertas comillas cuando se copia textos desde Word, en vez de aparecer los caracteres aparecen un signo de interrogación, un cuadrado en blanco o finalmente algunos caractees sin sentido, vamos a ver algunas formas de arreglar eso

Problemas de Codificación

Esto es lo más usual, para solucionarlo debemos fijarnos en el encabezado de nuestra página web el tipo de codifcación que estamos, usando si es para páginas en español con tildes mejor usamos codificación ISO y no UTF-8

1
2
3
4
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Mi Pagina</title>
</head>

Usando caracteres especiales HTML

Si pese a cambiar la codficación sigues teniendo problemas hay un método que nunca falla sin importar que cambiemos la codificación, eso es usando caracteres especiales HTML, aqui transcribo una tabla con los más utiles (ojo existen muchisimo mas)

&Aacute; Á
&Eacute; É
&Iacute; Í
&Oacute; Ó
&Uacute; Ú
&aacute; á
&eacute; é
&iacute; í
&oacute; ó
&uacute; ú
&Ntilde; Ñ
&Otilde; Õ
&atilde; ã
&ntilde; ñ

Problemas con ciertos caracteres de Word

A veces cuando pegamos textos de Word fallan, las comillas, guiones, puntos suspensivos, para esos casos solo nos queda reemplazarlos por los correctos usando la opcion “find and replace” de Dreamweaver con el editor que usemos, es un error poco usual pero no se arregla cambiando la codificación.

Expresiones Regulares con PHP

Categories: PHP - Tags: , ,

La idea es poder manipular cadenas para hace cosas como por ejemplo modificar una cadena para convertirla en una URL amigable, evitar el uso de ciertos parametros en etiquetas HTML, validar correos y mil y un aplicaciones mas.
Por ejemplo si quisieramos validar un correo electronico:

1
2
3
4
$email="mio@mail.com"
$pattern = "^([A-Za-z0-9\.|-|_]{1,60})([@])";
$pattern .="([A-Za-z0-9\.|-|_]{1,60})(\.)([A-Za-z]{2,3})$";
ereg($pattern,$email)

El ejemplo anterior comprueba que solo se permita una arroba, que hay al menos dos letras en la extension del dominio, solo permite numeros, letras, guiones y subguiones ademas de una longitud minima de 6 caracteres.
Para eso se usa la funcion ereg() de php, los parametros mas usados son:

Tipo de Operador Ejemplo Descripción
Caracteres literales

Localización de un carácter concreto

a A y 6 % @ Letras, digitos y cualquier carácter especial
\$ \^ \+ \\ \? Precede un caracter especial con el signo \ para cancelar su significado
\n \t \r Nueva linea, tabulación y retorno de carro
\cJ \cG Códigos de control
\xa3 Códigos hexadecimales
Delimitadores ^ Empieza con
$ Termina con
Grupo de carácteres [aAeEiou] cualquier carácter incluído en [ ]
[^aAeEiou] cualquier carácter excepto aAeEiou
[a-fA-F0-9] cualquier carácter hexadecimal (’0′ a ’9′ o ‘a’ a ‘f’)
. cualquier carácter
[[:space:]] cualquier espacio (espacio \n \r o \t)
[[:alpha:]] cualquier letra
[[:digit:]] cualquier digito
[^[:space:]] cualquier carácter que no sea un espacio
Agrupaciones aplicadas a elementos + 1 o mas (”algunos”)
* 0 o mas (”quizas algunos”)
? 0 0 1 (”quizas a”)
{4} 4 exactos
{4,} 4 o más
{4,8} entre 4 y 8
Alternar | una u otra
Agrupando ( ) agrupación almacenandola a una variable
(?: ) agrupacion sin almacenar en variable