que son las expresiones regulares

Upload: dany-moises-andrade

Post on 10-Oct-2015

58 views

Category:

Documents


0 download

TRANSCRIPT

  • Universidad Laica Eloy Alfaro de Manab

    Extensin en El Carmen

    Nombres:

    Dany Moises Andrade Andrade

    Tutor:

    Ing. Jefferson Almeida

    Materia:

    Programacin Avanzada

    Carrera:

    5to A Sistemas

  • Contenido QUE SON LAS EXPRESIONES REGULARES.................................................................... 4

    PATRONES ........................................................................................................................ 4

    Patrones de secuencia o fijacin .................................................................................... 4

    Patrones multiplicadores ................................................................................................. 4

    Patrones de alternativa ................................................................................................... 4

    Los parntesis ................................................................................................................. 4

    Escapado de metacaracteres ......................................................................................... 4

    Patrones de Posix ........................................................................................................... 5

    Gestin de expresiones regulares Posix ........................................................................ 5

    Gestin de expresiones regulares Perl........................................................................... 5

    FICHEROS.......................................................................................................................... 6

    Abrir ficheros.................................................................................................................... 6

    Cerrar Ficheros................................................................................................................ 6

    Leer Ficheros................................................................................................................... 7

    La escritura en ficheros ................................................................................................... 8

    Eliminar Ficheros ............................................................................................................. 8

    Copiando Ficheros .......................................................................................................... 9

    Renombrando Ficheros ................................................................................................... 9

    Las Propiedades de los ficheros .................................................................................... 9

    Los Permisos ..................................................................................................................10

    Manejo Bsico de Directorios ........................................................................................10

    Cookies ...........................................................................................................................11

    SESIONES .........................................................................................................................11

    Las cabeceras de la solicitud .........................................................................................12

    Las cabeceras de la respuesta ......................................................................................12

    Sockets ...........................................................................................................................12

    USO DE FORMULARIO Y SU MANEJO ..............................................................................12

    Limitando el tamao del archivo ........................................................................................12

    Enviando mltiples archivos ..............................................................................................12

    Procesando los archivos enviados ....................................................................................12

    Manejo Bsico de Cadenas ...............................................................................................13

  • Codificacin URL ...............................................................................................................13

    TRATAMIENTO DE CADENAS PARA HTML ..................................................................14

    Encriptacin de Cadenas...................................................................................................14

    Funciones Numricas ........................................................................................................15

    Funciones de Fecha ..........................................................................................................17

  • QUE SON LAS EXPRESIONES REGULARES

    Las expresiones regulares son, elementalmente, patrones con los que compara

    una cadena, obteniendo un resultado lgico. Los patrones se componen a base de

    metacaracteres, que son caracteres que tienen un significado especfico.

    PATRONES

    Los patrones se usan para construir expresiones regulares se pueden considerar

    clasificados en cuatro naturalezas: de secuencia o fijacin, multiplicadores, de

    alternativas y parntesis.

    Patrones de secuencia o fijacin

    . El punto representa a un carcter cualquiera

    a.t Con esta expresin coincidirn todas las cadenas que contengan la

    letra a y la letra t

    [ y ] permite referirse a un rango de caracteres que definamos para buscar

    coincidencias

    [^a-e] se utiliza identificar cadenas que no contengan caracteres de un

    determinado rango

    ^F Expresin destinada a identificar un carcter al principio de una cadena

    a$ Expresin destinada a identificar un carcter al final de una cadena

    Patrones multiplicadores

    a{3} Al expresar entre llaves un nmero a continuacin de un carcter

    indica ese carcter repetido tanta veces como indica el nmero

    a {2,5} Con el concordarn todas las cadenas en las que se encuentren

    entre los limites.

    *s Dicho carcter debe repetirse cualquier nmero de veces

    +a Dicho carcter debe estar presente, al menos, una vez en la cadena.

    ? Para que la cadena coincida, dicho carcter deber estar presente una

    vez o ninguna.

    Patrones de alternativa

    a|b|c Con este patrn coinciden todas las cadenas que incluyan la letra.

    [abc] o [a-c] Realiza lo mismo que la funcin de arriba

    Los parntesis

    (j2){3} Los parntesis permiten, agrupar patrones simples

    Escapado de metacaracteres

    \. Escapado de metacaracteres, mediante un contraslash

  • Patrones de Posix

    Gestin de expresiones regulares Posix

    ereg (): Permite cotejar una cadena para determinar si coincide o no con

    una determinada expresin.

    eregi (): La funcin es la misma que le de ereg (), pero ignorando si las

    letras son maysculas o minsculas.

    ereg_replace (): Lo que hace esta funcin es buscar coincidencia con el

    patrn y lo remplaza por la cadena de sustitucin.

    eregi_replace (): Acta igual que la anterior, pero sin tener en cuenta la

    capitalizacin de las letras

    Gestin de expresiones regulares Perl

    preg_match (): Esta funcin es equivalente a la de ereg (), Pero en este

    caso, no existe funcin especfica para ejecutar comparaciones ignorando

    las maysculas y las minsculas.

    $concuerda= ereg ($expresin, $cadena);

    If ($concuerda) {

    Echo (La cadena concuerda con la expresin.);

    } else {

    Echo (La cadena no concuerda con la expresin.);

    }

  • preg_replace (): acta de modo equivalente a ereg_replace (). Recibe tres

    argumentos: Expresin regular, cadena de remplazo y la cadena a

    comparar.

    FICHEROS

    include (): Es idntico a la funcin requiere(), la nica diferencia en su

    operativa que muestro un error

    require (): Cuando se tiene un fragmento de cdigo que vaya a ser

    incorporado a varios scripts de nuestro sitio web, lo grabaremos en un script

    externo y lo llamaremos cuando sea necesario

    include_once (): Esta funcin se utiliza dentro del bucle de este modo, se

    evita el error de redeclarar una funcin.

    require_once (): equivalente a requiere (), pero con comprobacin previa

    de haberse cargado ya el script externo a que se refiere.

    Abrir ficheros

    fopen (): Recibe dos argumentos: el nombre del fichero que es necesario

    abrir, el segundo es el modo en que queremos abrir el fichero

    Cerrar Ficheros

    fclose (): se utiliza para cerrar cualquier fichero tanto de lectura como

    escritura.

    $HTTP_POST_VARS [expresin] = ereg_replace (\\\, \\, $HTTP_POST_VARS [expresin]

    $correcto = preg_match ($HTTP_POST_VARS [expresin], $HTTP_POST_VARS [cadena])

    Include (ficheroNoExistente.php);

    Echo (EJECUCION FINALIZADA;)

    Require (ficheroNoExistente.php);

    Echo (EJECUCION FINALIZADA)

    For ($contador=1; $contador

  • Leer Ficheros

    fpassthru (): Se utiliza para leer todo el contenido de un fichero, de modo

    indiscriminado.

    fread (): Permite leer un nmero determinado de caracteres

    rewind (): Recibe como argumento, el manejador del fichero sobre el que

    queremos trabajar, y posiciona el puntero de lectura en el primer carcter.

    filesize (): Permite definir el tamao de un fichero

    fgetc (): Esta funcin de lectura permite recuperar el contenido de un

    fichero en bloques de un solo carcter.

    fgets (): esta funcin recibe dos argumentos separados por comas, el

    primero es, lgicamente, el manejador con el que se ha abierto el fichero. El

    segundo es el nmero de bytes que queremos leer, ms uno.

    feof (): Esta funcin se emplea para detectar cundo se ha llegado al final

    del fichero. Recibe como argumento el manejador del fichero y devuelve un

    valor lgico.

    $manejadorFichero1= fopen (lecturaSimple.txt,r);

    fpassthru ($manejadorFichero1);

    fclose ($manejadorFichero1);

    rewind ($manejadorFichero1);

    $bloque=fread (manejadorFichero1, 12);

    Echo (Los doce primeros caracteres del fichero son: $bloque);

    $caracteres= filesize (lecturaSimple.txt);

    $contenido=;

    for ($contador=1; $contador

  • fgetss (): Su sintaxis es la misma que la de la anterior, pero elimina todas

    las etiquetas de HTML, PHP y JavaScript

    file (): Recibe como argumento un nombre de fichero que no tiene que

    estar abierto previamente, y devuelve una matriz indexada en al que cada

    elemento tiene una lnea del fichero.

    ftell (): Recibe como argumento el manejador con el que se abri el fichero

    para determinar la posicin del puntero de lectura

    fseek (): se utiliza para llevar al puntero a otra posicin diferente.

    La escritura en ficheros

    fwrite (): Utilizamos esta funcin para escribir en un fichero, recibe tres

    argumentos. El primero es el manejador con el que est abierto el fichero,

    el segundo es el contenido que queremos escribir y el tercero parmetro es

    opcional.

    fputs (): Es lo que se conoce como un alias de fwrite(). Eso significa que

    tiene la misma sintaxis y funciona exactamente igual, por lo que puede usar

    cualquiera de las dos funciones indistintamente.

    Eliminar Ficheros

    unlink (): Recibe como argumento el nombre del archivo a eliminar. Para

    ejecutar esta funcin no es necesario que el fichero no est abierto.

    $contenido= fgetss ($manejadorFichero1);

    $matriz= file (multiLinea.txt);

    $posicin= ftell ($manejador);

    fseek ($manejadorFichero1, 3);

    If (@fwrite ($manejador, $cadena, 6)) {

    If (@unlink (ficheroParaEliminar.txt)) {

  • Copiando Ficheros

    Copy (): Con esta funcin se puede copiar un fichero, en la misma ruta en

    la que est o en otra diferente

    Renombrando Ficheros

    rename (): Permite cambiar el nombre de un archivo desde un script. Esta

    debe recibir dos argumentos. El primero es el nombre que tiene el fichero

    antes renombrado. El segundo parmetro es el nuevo nombre que le

    queremos dar.

    Las Propiedades de los ficheros

    file_exists (): Recibe un nombre de fichero y devuelve un valor lgico, que

    ser true si el fichero existe en la ruta especfica, o false en caso contrario.

    is_readable (): Recibe como argumento un nombre de fichero y comprueba

    si el fichero se puede leer.

    is_writeable (): Recibe un nombre de fichero y devuelve un valor true si el

    fichero nos permite escribir en l.

    is_executable (): Recibe un nombre de fichero y devuelve un valor true si

    el fichero es ejecutable y si no es ejecutable, devuelve un valor false.

    is_file (): Determina si el nombre pasado como argumento es un fichero.

    is_dir (): Determina si el nombre pasado como argumento es un directorio.

    If (@Copy ($original, $copia)) {

    $origen= fichero.txt;

    $destino= otroDirectorio/fichero.txt;

    @rename ($origen, $destino);

    If (file_exists ($HTTP_POST_VARS [elemento])) {

    If (is_file ($HTTP_POST_VARS [elemento])) {

    If (is_dir ($HTTP_POST_VARS [elemento])) {

    If (is_readable ($HTTP_POST_VARS [elemento])) {

    If (is_writeable ($HTTP_POST_VARS [elemento])) {

    If (is_executable ($HTTP_POST_VARS [elemento]))

    {

  • is_link (): Determina si el nombre pasado como argumento es un enlace

    simblico.

    Los Permisos

    chmod (): Sirve para cambiar los permisos de un archivo.

    fileperms (): Recibe como argumento el nombre de un fichero, y nos

    devuelve un valor numrico que indica los permisos actuales de ese fichero.

    Manejo Bsico de Directorios

    mkdir (): Permite crear un nuevo directorio

    chdir (): Esta recibe un argumento nico, que es el nombre de la carpeta a

    la que queremos referirnos.

    rmdir (): Se utiliza para eliminar un directorio

    getcwd (): Nos permite recuperar el nombre del directorio actual.

    opendir (): Permite abrir los ficheros y sub-directorios que contiene una

    carpeta

    readdir (): Una vez abierto el directorio recurrimos a la funcin readdir para

    leer el contenido

    If (is_link ($HTTP_POST_VARS [elemento])) {

    If (@chmod ($HTTP_POST_VARS [ocultoNombre], $permisosOtorgados)) {

    mkdir (CarpetadeImagenes, 0777);

    mkdir (C:/otraCarpeta, 0777);

    Chdir (carpetaDeImagenes);

    Chdir (../carpetaDeSonidos);

    rmdir (carpetaDeImagenes);

    $manejador= opendir (C:/);

    While ($contenido=readdir ($manejador)){ Echo ($contenido.salto) ;}

  • rewinddir (): Permite ubicar el puntero al principio del directorio.

    closedir (): Esta funcin permite cerrar, cuando hayamos terminado de leer

    el contenido de un directorio

    Cookies

    setcookie (): permite grabar una cookie en el ordenador del cliente

    SESIONES

    sesin_start (): Tiene dos misiones. Si es la primera vez que se ejecuta en

    el sitio para una visita en concreto, crea un nuevo archivo de sesin, con

    una session id exclusivo para ese uso en concreto. Si ya est creada la

    sesin, la abre, es decir, facilita el acceso a las variables que haya

    registradas

    session_register (): Se utiliza para registrar una variable

    session_name (): Permite cambiar el nombre de esta constante

    PHPSESSID

    session_id (): Nos devuelve el valor de la constante de identificacin, es

    decir, el session id de la sesin en curso.

    session_is_registered (): Recibe, como argumento, el nombre de una

    variable de sesin, sin el signo $ y entre comillas.

    session_unregister (): Recibe el nombre de una variable de sesin y la

    borra del fichero de la sesin actual.

    session_destroy (): Elimina el archivo de sesin

    session_unset (): Borra el contenido de todas las variables de sesin.

    Rewinddir ($manejador);

    closedir ($manejador);

    setcookie (idiomaUsuario, $idiomaUsuario, time () + 86400);

    session_register ($nombreDeUsuario, $colorElegido);

    >

    If (! Session_is_registered (nombreDeUsuario)){

  • Las cabeceras de la solicitud

    getallheaders (); Esta funcin recupera las cabeceras de la solicitud en

    una matriz asociativa.

    Las cabeceras de la respuesta

    header (): Segn el argumento que reciba, enviara una determinada

    cabecera al navegador.

    Sockets

    fsockopen (): Se utiliza para abrir un socket

    fclose (): Se cierra el socket

    USO DE FORMULARIO Y SU MANEJO

    Limitando el tamao del archivo

    MAX_FILE_SIZE: Limita el peso estableciendo el valor

    Enviando mltiples archivos

    Procesando los archivos enviados

    $cabeceras= getallheaders ();

    header (HTTP/1.1 404 No se encuentra);

    $manejador= fsockopen (127.0.0.1, 80);

    fclose ($manejador);

    $archivo = $_FILES [arch] [tmp_name]

    $destino= subidos/archivo_cualquiera.jpg;

    Move_uploaded_file ($archivo, $destino);

  • Manejo Bsico de Cadenas

    substr (); Devuelve una subcadena de la cadena original, es decir, una

    parte de la cadena original.

    Itrim: Elimina los espacios al principio o final de la cadena.

    Chop: Elimina los espacios que pudieran haber en el final.

    Trim: Elimina tanto los espacios del principio como los del final.

    Ord: Recibe como argumento un carcter y devuelve su cdigo ASCII.

    Chr: Recibe un valor numrico entre 1 y 255 y devuelve el carcter

    correspondiente.

    Strlen: Recibe como argumento la cadena y nos devuelve su longitud, es

    decir, la cantidad de caracteres que la forman, incluyendo los espacios,

    signos de puntuacin.

    Print: Funciona igual que el echo, en algunos scripts podemos encontrar

    print en lugar de echo.

    Printf: Recibe dos argumentos separados por una coma, el primero es una

    cadena de formato y el segundo la cadena que queremos mostrar, de forma

    que nos devuelve con el formato especificado en el primer argumento

    Strtoupper () y Strtolower: Estas funciones reciben como argumento la

    cadena que queremos modificar.

    Ucfirst: Convierte a mayscula el primer carcter de la cadena, si es una

    letra claro

    Ucwords: Convierte a mayscula la primera letra de cada palabra.

    Str_replace: Sustituye un fragmento de una cadena por otro, dejando

    inalterado el resto de la cadena original.

    Strstr: Recibe dos argumentos separados por una coma, el primero es la

    cadena en la que hay que buscar y el segundo es la subcadena que

    deseamos encontrar.

    Codificacin URL

    Rawurlencode: Recibe un texto Normal y lo devuelve cifrado.

    Rawurldecode: Recupera el texto original.

    $cad= cadena;

    $sub1 = substr ($cad, 2);

    $sub2 = substr ($cad, 2, 2);

    Echo la subcadena nmero uno es la siguiente: $sub1;

    Echo "La subcadena nmero dos es la siguiente: $sub2";

  • TRATAMIENTO DE CADENAS PARA HTML htmlentities: Esta recibe como argumento una cadena y sustituye todos los

    caracteres no pertenecientes al alfabeto internacional por las entidades

    HTML

    parse_url: Recibe como argumento la direccin de un documento en

    Internet y devuelve una matriz con todos los elementos que forman dicha

    direccin.

    chunk_split: Recibe como parmetro obligatorio la cadena que hay que

    dividir y genera otra cadena en la que, cada 76 caracteres, introduce una

    secuencia.

    explode: Esta funcin recibe dos parmetros obligatorios. El primero es la

    secuencia que debe buscar como separador y el segundo es el nombre de

    la cadena modificada, generada por chunk_split.

    Implode: Lleva a cabo la misin contraria a explode, es decir parte de una

    matriz y une todos sus elementos formando una cadena.

    join: Es idntica en funcionamiento y uso a implode.

    Encriptacin de Cadenas

    base64_encode: Sirve para encriptar una cadena. Esta funcin recibe

    como argumento una cadena y la devuelve encriptada.

    strrev: Invierte la posicin de todos los caracteres de la cadena que recibe

    como argumento y genera una cadena inversa.

    base64_decode: recibe como argumento la cadena encriptada y devuelve

    la cadena original, para poder seguir trabajando con ella.

    $cadena= Espaa;

    Echo (htmlentities ($cadena));

    $datosDeURL=parse_url (http://www.todoligues.com);

    $cadenaNueva=chunk_split ($cadenaOriginal, 10, *-*);

    $matriz=explode (*.*, $cadenaModificada);

    $nuevaCadena=implode ($matriz);

    $cadenaCodificada= base64_encode ($cadenaOriginal);

    $cadenaInvertida= strrev ($cadenaCodificada);

  • Funciones Numricas

    rand: No recibe ningn argumento y genera un nmero aleatorio entero

    que est comprendido entre 0 y MAX_RAND. Para obtener el valor de

    MAX_RAND usaremos la funcin getmaxrand.

    sqrt: Cuyo uso es obtener la raz cuadrada del valor que recibe como

    argumento.

    sin: Recibe un argumento que representa a un ngulo y devuelve el seno

    del mismo.

    cos: Recibe un ngulo y devuelve su coseno

    tan: Recibe un ngulo y devuelve la tangente

    asin: Recibe un ngulo y devuelve su arco seno

    acos: Recibe un ngulo y devuelve su arco coseno

    atan: Recibe un ngulo y devuelve su arco tangente

    deg2rad: Recibe un ngulo expresado en grados y lo devuelve en

    radianes.

    rad2deg: Recibe un ngulo expresado en radianes y lo devuelve en grados

    log: Devuelve el logaritmo natural del valor que recibe como argumento

    log 10: Devuelve el logaritmo de base 10

    exp: Recibe un valor como argumento y devuelve el numero e

    $cadenaRecuperada= base64_decode ($cadenaReinvertida);

    $aleatorio= rand ();

    Echo (Valor de MAX_RAND: .getrandmax ().);

    $aleatorio = rand ($inferior, $superior);

    $raz = sqrt ($valor);

    $angulorectoengrados=45;

    $angulorectoenradianes=deg2rad ($angulorectoengrados);

    $seno=sin ($angulorectoenradianes);

    $coseno=cos ($angulorectoenradianes);

    $tangente=tan ($angulorectoenradianes);

    $arcoseno=asin ($angulorectoenradianes);

    $arcocoseno=acos ($angulorectoenradianes);

    $arcotangente=atan ($angulorectoenradianes);

    $valor=4;

    $logaritmo=log ($valor);

    $logaritmo10=log10 ($valor);

    $neperiano=exp ($valor);

  • bindec: Recibe como argumento una cadena compuesta por ceros y unos

    hexdec: Recibe una cadena que representa un valor hexadecimal y

    devuelve el correspondiente valor a decimal

    octdec: Recibe como argumento una cadena que representa un valor octal

    y devuelve le correspondiente valor decimal.

    decbin: Recibe un nmero decimal y devuelve una cadena formada por

    ceros y unos que representa al argumento en binario.

    dechex: Recibe un nmero decimal y devuelve una cadena que representa

    a dicho nmero en hexadecimal.

    decoct: Recibe un nmero en decimal y devuelve una cadena que

    representa a dicho nmero en octal

    Pi y M_PI: Nos proporciona el valor de una constante

    ceil: Recibe un nmero fraccionario y lo redondea al entero inmediato

    superior.

    floor: Recibe como argumento un nmero fraccionario y lo redondea al

    inmediato entero inferior.

    round: Esta funcin recibe un nmero fraccionario. Si la parte fraccionaria

    es inferior a 5, el redondeo se hace al inmediato entero inferior. Si la parte

    fraccionaria es 5 o mayor, el redondeo se hace al inmediato entero superior.

    pow: Funcin destinada a la potenciacin de valores numricos. Recibe

    dos argumentos numricos separados por una coma. El primero es la base

    y el segundo es el exponente.

    $decimalbinario=decbin ($valordecimal);

    $decimaloctal=decoct ($valordecimal);

    $decimalhexa=dechex ($valordecimal);

    $binariodecimal=bindec ($valorbinario);

    $octaldecimal=octdec ($valoroctal);

    $hexadecimal=hexdec ($valorhexa);

    Echo (El valor de pi es .M_PI.);

    Echo (Otra vez. El valor de pi es .pi().);

    $usodeceil=ceil ($fraccionario);

    $usodefloor=floor ($fraccionario);

    $usoderound=round ($fraccionario);

    $resultado = pow (84,3);

  • Funciones de Fecha

    time: Forma de recuperar el timestamp actual

    getdate: Nos devuelve una matriz con todos los datos que podamos

    necesitar

    date: Permite obtener la fecha y hora en un formato que convenga a

    nuestros intereses

    gmdate: Funciona de modo similar a date, pero devolviendo la hora del

    meridiano de Greenwich.

    setlocate: permite establecer en el servidor la configuracin relativa a un

    idioma determinado

    strftime: Recibe un argumento con el formato en que queremos recuperar

    los datos necesarios. La mecnica es similar a la funcin date.

    mktime: esta recibe seis argumentos separados por comas. Son seis

    valores numricos que representan la hora, los minutos, los segundos, el

    mes, el da y el ao de una fecha concreta, y nos devuelve la marca de

    tiempo que corresponde al momento establecido.

    checkdate: Se emplea para determinar si una fecha es correcta o no.

    FUENTE EXTERNA:

    Quijado, J. (2013). Domine PHP y MySQL (2 Ed.). Mxico: Alfaomega.

    $marca=time ();

    Echo ($marca);

    $fecha= date (d/m/Y);

    setlocate (LC_ALL, SP);

    Echo (strftime (%A, %x));

    If (checkdate ($mes, $da, $anio)) {