Funciones.

5 oct 2010

Operador y Funciones del Cadena
Solo existe un operador de cadena; el punto (.), pero PHP cuenta con numerosas funciones de cadena que le permiten manipular cadenas en forma eficaz.
Operador de Concatenación
El operador de concatenación  (.) se puede utilizar entre valores de cadena para combinarlos. Veamos cómo se utiliza en un programa PHP.
            <?php
                        $nombre= “yuri”;
                        $apellido = “Pando”;
                        $ambos_datos=$nombre. “  ” . $apellido;
                        echo “Nombres y Apelidos = <br>$ambos_datos</br>”;
            ?>
Funcion Strlen ( )
La función Strlen ( ) busca la longitud de una cadena. Cuenta todos los caracteres de la cadena y devuelve el total. En el siguiente ejemplo muestra la longitud de la cadena y lo muestra en pantalla.
<?php
                        $nombre= “yuri”;
                        $apellido = “Pando”;
                        $ambos_datos=$nombre. “  ” . $apellido;
                        $longitud = strlen ($ambos_datos);
                        echo “Nombres y Apelidos = <br>$ambos_datos</br>”;
                        echo “Longitud de la cadena <br>$longitud</br>”;
            ?>
Función Strstr ( )
La función strstr ( ) obtiene cualquier parte de una cadena que se encuentra tras la primera instancia de una determinado carácter o cadena dentro de una cadena. En el siguiente ejemplo, el valor de la variable $ambos_datos (yuri Pando) se busca hasta la primera instancia del espacio, y tras ellos la función strstr ( ) devuelve todo lo que se encuentre después del espacio.
<?php
            $nombre= “yuri”;
            $apellido = “Pando”;
            $ambos_datos=$nombre. “  ” . $apellido;
            $longitud = strlen ($ambos_datos);
$funcion_strstr = strstr ($ambos_datos, “ ”);
echo “Nombres y Apelidos = <br>$ambos_datos</br>”;
echo “Longitud de la cadena <br>$longitud</br>”;
echo “La parte después del espacio es <br>”. $funcion_strstr . “</br>”;
?>
Función strpos ( )
La función Strpos ( ), se utiliza para determinar si una cadena de búsqueda existe dentro de una cadena buscada y devuelve una valor numérico que indica el punto en el que se inicia la cadena de búsqueda. En el siguiente ejemplo vamos a buscar dentro de la variable $ambos_datos el carácter n.
<?php
            $nombre= “yuri”;
            $apellido = “Pando”;
            $ambos_datos=$nombre. “  ” . $apellido;
            $longitud = strlen ($ambos_datos, “ ”);
            $posicion = strpos ($ambos_datos, “n”);
            $funcion_strstr = strstr ($ambos_datos);
            echo “Nombres y Apelidos = <br>$ambos_datos</br>”;
            echo “Longitud de la cadena <br>$longitud</br>”;
            echo “La parte después del espacio es <br>”. $funcion_strstr .   “</br>”;
            echo “La posición del carácter  &quot;n&quot; es <br>”.$posicion. “</br>”;
?>
Función unset ( )
Esta función nos permite destruir el valor de una variable, liberando memoria, o simplemente limpiando datos de entrada para evitar sorpresas posteriores.
<?
$var = 42;
unset ($var);
echo $var; // no imprimirá nada ya que el valor de esa variable se ha destruido
?>
Funcion isset ( )
Con esta función sabremos si una variable está definida o no. Esto es útil para ver si un navegador me ha mandado datos (como veremos más adelante), o ver si existe determinada variable global.

Manejo de Strings y expresiones regulares
A continuación se describe un resumen de las funciones más importantes de PHP para manejo de strings.
Mayúsculas y minúsculas:

String = strtopuuper(string)
Pasa un string a mayúsculas.
String = strtolower(string)
Pasa un string a minúsculas.
String = ucfirst(string)
Pasa a mayúsculas el primer carácter de un string.
String = ucwords(string)
Pasa a mayúsculas el primer carácter de cada palabra de un string  (separadas por blancos, tabulaciones y saltos de línea).



String= chop(string)
Elimina blanco y saltos de línea a la derecha de un string dado.
String= ltrim(string)
Elimina blancos y saltos de línea a la izquierda de un string.
String= trim(string)
Elimina blancos y saltos de línea a derecha e izquierda de un string.


Comparaciones

Int = strpos(string1,string2);
Devuelve la posición de la primera ocurrencia de string2 dentro de String 1.
Int = strspn(string1,string2);
Devuelve la longitud en caracteres de s1 contando desde el principio hasta que aparece un carácter en s1 que no está en s2.
Int = strcmp(string1,string2);
Compara dos strings y devuelve 1, 0 o -1 según sea mayor el primero, iguales o el segundo.
Int = strcasecmp(string1,string2);
Iden anterior pero case – insesitive (no distingue mayúsculas y minúsculas).
Int = strcspn(string1,string2);
Devuelve la longitud de s1 desde el principio hasta que aparece un carácter que pertenece a s2.
Int = strstr(string1,string2);
Devuelve todos los caracteres de s1 desde la primera ocurrencia de s2 hasta el final.
Int = stristr(string1,string2);
Iden anterior pero case – insesitive (no distingue mayúsculas y minúsculas).
Int = similar_text(string1,string2,referencia);
Analiza la semejanza entre dos strings, devuelve la cantidad de caracteres iguales en los dos strings, si se pasa como tercer parámetro una referencia a una variable devuelve en la misma el porcentaje de similitud entre ambos strings de acuerdo al algoritmo de Oliver (1993).


Funciones de Parsing

Array=explode (separador,string);
Devuelve un vector donde cada elemento del vector es un string del string pasado particionado de acuerdo a un cierto carácter separador.

Ejemplo:
$st= “hola,mundo,como,estan”
$vec=explode(“,”,$st);
//$vec=(“hola”, “mundo”, “como”, “estan”);
String=implode (separador, array);
Genera un string concatenado todos los elementos del vector pasado e intercalando separador entre ellos.
String=chunk_split(string,n,end);
End es opcional y por default es  “\r\n”, devuelve un string en donde cada “n” carcateres del string original se intercala el separador “end”.

Ejemplo:
$st = “Hola mundo”;
$st2=chunk_split ($st,2 ,“,”);
// $st2= “ho,la,m,un,do”;
Array=count_chars(string);
Devuelve un vector de 256 posiciones donde cada posición del vector indica la cantidad de veces que el carácter de dicho orden aparece en el vector.
String=nl2br(string);
Devuelve un string en donde los saltos de línea se han reemplazado por el tag <br> de html.
String=strip_tags(string,string_tags_validos);
Devuelve un string eliminado del string original todos los tags html, si se pasa el segundo parámetro opcional es posible especificar que tags no deben eliminarse (solo hace falta pasar los tags de apertura)

Ejemplo:
$st2 = Strip_tags ($st1, “<br><table>”);
Elimina todos los tags html de $st1 excepto <br>, <table> y </table>
String=metasphone(string);
Devuelve una representación meta fónica (similar a soundex) del string de acuerdo a las reglas de pronunciación del idioma ingles.
String=strtok (separador, string);
Dado un separador obtiene el primer “token” de un string, sucesivas llamadas a strtok pasando solamente el separador devuelven los tokens en forma sucesiva o bien falsa cuando ya no hay más tokens.
Ejemplo:
$tok=strtok($st, “/”);
While ($tok) {
//hacer algo
$tok=strtok (“/”);
}
Parse_string(string);
Dado un string de la forma “nombre=valor&nombre2=valor2&nombre3=valor3”,setea las variables correspondientes con los valores indicados”
Ejemplo:
Parse_string (“v1=hola&v2=mundo”);
//Setea $v1= “hola” y $v2 = “mundo”


Codificación y descodificación ASCII

Char=chr (int)
Devuelve el carácter dado su numero ascii.
Int=ord(char)
Dado un carácter devuelve su código ascii.


Substrings:

String=substr(string,offset,longitud);
Devuelve el substring correspondiente al string pasado desde la posición indicada por offset y de la longitud indicada como tercer parámetro, si no se pasa el tercer parámetro se toman todos los caracteres hasta el final del string.
String=substr_replace (string, string_reemplazo,offset,logitud);
Idem anterior pero el substring seleccionado es reemplazado por string_reemplazado, si string_reemplazado es “ ” entonces sirve para eliminar una porción de un string.


Búsqueda y Reemplazos

Str_replace (string1,string2,string3);
Reemplaza todas las ocurrencias de string1 en  string3 por string2. Esta función no admite expresiones regulares como parámetros.
String=strtr(string1,string_from,string_to;)
Reemplaza en string1 los caracteres en string_from y string_to (se supone que string_from y string_to son de la misma longuitud, si no lo son los caracteres que sobran en el string más largo se ignoran)
Ejemplo:
$st= “hola mundo”
Strtr ($st, “aeiou”, “12345”);
//$st= “h4la m5nd4”
Array=Split (pattern,string);
Idem a explode pero el separador puede ser ahora una expresión regular.
Boolean=ereg (pattern, string, regs);
Devuelve true o false según si el string matchea o no una expresión regular dada, tercer parámetro es opcional y debe ser el nombre de un vector en donde se devolverán los matches de cada paréntesis de la expresión regular si es que la misma tiene paréntesis.
Boolean=eregi (pattern, string, regs);
Idem anterior pero case – insensitive.
Ereg_replace (pattern_from, string_to, string);
Reemplaza todas las ocurrencias de una expresión regular en string por el contenido de string_to.
Eregi_replace (pattern_from, string_to, string);
Idem anterior pero no considera mayúsculas y minúsculas para la búsqueda de la expresión regular en el string.


0 comentarios: