|
8-Cadena
de caracteres
En
este capítulo se comentaran todos los pormenores relacionados
con cadenas de caracteres, las funciones existentes,etc.
Cadenas
de caracteres
Una
cadena consiste en una secuencia de caracteres que se encuentran
comprendidos entre unos delimitadores que pueden ser:
-Comillas simples ' '
-Comillas dobles " "
-Documento incrustado <<< >>>
En
caso de que se desee por ejemplo unas " " dentro
de las comillas de la cadena de caracter es necesario realizar
la accion que se denomina escapar un caracter que consiste
en precederlo de una \ es decir \". Los caracteres especiales
que pueden aparecer dentro de un documento con delimitacion
son:
Secuencia
Significado
\n Nueva linea
\r Retorno de carro
\t Tabulacion horizontal
\\ Barra invertida
\$ Signo de dolar
\" Comillas dobles
\[0-7]{1,3} Carcter ASCII que coindice con el numero octal
\x[0-9A-Fa-f]{1,2} Caracter ASCII que coindice con el numero
hexadecimal
El
caso de documento incrustado es diferente al de ambas comillas.Su
sintaxis es la siguiente:
<<<Identificador
Cadena de caracteres
Identificador;
El
resultado obtenido con documento incrustado es el texto mostrado
igual que se ha introducido.
La
funcion chr(valor) nos devuelve en una variable del tipo cadena
el caracter de la tabla de codigos ASCII asociado a un valor
que recibe como parametro, el valor que se pase debe estar
entre 0 y 255.
La funcion ord(cadena) nos devuelve un numero entero que se
corresponde con el codigo ASCII del primer caracter que recibe
como parametro.
Visualizacion
de cadenas
-Echo:
Es el modo de visualizacion mas empleado.Su sintaxis es la
siguiente: echo "texto";
-Print: Es la mas sencilla de todas y se encarga de mostrar
una cadena de caracteres sobre su salida estandar.No soporta
ningun formato de salida y su sintaxis es: print(cadena);
-Printf(formato,[valores]); Su funcionamiento es el mismo
que en el caso anterior, la unica diferencia es que este soporta
formatos de salida como su alineacion(por defeto a la izquierda),valor
numerico( numero minimo de caracteres que deben mostrarse),numero
de decimales y tipo de datos cuyas posibilidades son:
Simbolo
Significado
% Representa el simbolo del porcentaje
b El argumento se trata como nº entero y se representa
en codificacion binaria.
c El argumento se trata como nº entero y se muestra el
caracter cuyo codigo ASCII se corresponde con el valor.
d El argumento se trata como nº entero y se representa
en codificacion decimal sin parte fraccionaria
f El argumento se trata como un nº de tipo double y se
representa como un decimal sin coma flotante
o El argumento se trata como un nº entero y se representa
en codificacion octal
s El argumento se trata y representa como una cadena de caracteres
x El argumento se considera un nº entero y se representa
en codificacion hexadecimal en minusculas
X El argumento se considera un nº entero y se representa
en codificacion hexadecimal en mayusculas
-Sprintf(formato,[valores]);
su funcionamiento es identico a printf lo unico que la cadena
resultante de aplicarle un determinado formato se guarda en
una variable.
Alteracion
del contenido
En
ocasiones es necesario emplear dichas funciones para alterar
el formato de salida de las cadenas. Las funciones empleadas
para modificar dicho formato son:
-chop(cadena);
Devuelve la cadena de caracteres con los caracteres de blanco
y nueva linea eliminados
-ltrim(cadena); Elimina los blancos que aparecen a la derecha
de una cadena de caracteres
-rtrim(cadena); Elimina los blancos que aparecen por la derecha
en una cadena de caracteres
-trim(cadena); Elimina los blancos que aparecen a izquiera
y derecha de la cadena de caracteres
-str_pad(cadena,longitud,relleno,lugar); Comprueba si la longitud
es menor que el valor indicado, si es asi añade los
caracteres necesarios.El lugar de añadir puede ser:
str_pad_left añade por la derecha(opcion por defecto),
str_pad_right añade por la izquierda y str_pad_both
añade por ambos extremos.
-str_repeat(caracter,numero_veces); Repite un caracter el
numero de veces indicado
-strtolower(cadena); Pasa toda la cadena a letras pequeñas
-strtoupper(cadena); Pasa toda la cadena a letras grandes
-ucfirst(cadena); Pasa a mayuscula el primer caracter de una
cadena
-ucwords(cadena); Pone en mayusculas el primer caracter de
cada palabra de la cadena
-str_replace(subcadena1,subcadena2,cadena); Sustituye una
palabra por otra dentro de una cadena
-strtr(cadena,originales,traducidos); Traduce ciertos caracteres
.Ejemplo: $persona=strt($persona,"áéíóú","a,e,i,o,u");
de esta forma cambiaria todas las vocales con acento por vocales
sin acento.
-substr_replace(cadena,nueva,comienzo,longitud); Sustituye
una porcion del contenido de una cadena
Acceso
al contenido
-strlen(cadena);
Indica el nº de caracteres de una cadena
-count_chars(cadena,modo); Numero de repeticiones de un caracter
en una cadena. Los modos posibles son:
0->Matriz
indexada con frecuencia de aparicion de todos los caracteres
del codigo ASCII
1->Matriz con caracteres ASCII con frecuencia mayor que
0
2->Matriz con caracteres que no aparecen en la cadena
3->Cadena con caracteres usados en el codigo ASCII
4->Cadena con caracteres no usados en el codigo ASCII
-substr_count(cadena,subcadena);
Frecuencia de aparicion de una cadena
-strchr(cadena,caracter); Devuelve la subcadena que comienza
en la primera aparicion del caracter indicado
-strstr(cadena,subcadena); Localiza subcadena dentro de la
cadena original
-stristr(cadena,subcadena); Igual que la funcion anterior
pero sin distincion entre mayusculas y minusculas
-strpos(cadena,subcadena); Primera ocurrencia de una cadena
en otra
-strrpos(cadena,subcadena); Ultima ocurrencia de una cadena
en otra
-ord(cadena); Devuelve el valor ASCII de un caracter
-substr(cadena,comienzo,longitud); Porcion de texto que empieza
en una posicion y tiene una longitud
-strcmp(cadena1,cadena2); Compara dos cadenas siendo sensible
a mayusculas y minusculas
-strcasecmp(cadena1,cadena2); Compara dos cadenas sin ser
sensible a mayusculas y minusculas
-strncmp(cadena1,cadena2,tamaño); Compara los N primeros
caracteres de una cadena
-strnatcmp(cadena1,cadena2); Sensible a mayusculas y minusculas.Compara
dos cadenas.
-strnatcasecmp(cadena1,cadena2); No sensible a mayusculas
y minusculas.Compara dos cadenas.
-chunk_split(cadena,longitud,separador); Coge una cadena de
caracteres e introduce separadores a una distancia determinada.
No modifica el orgininal sino que es una funcion nueva.
-explode(separador,cadena,limite); Permite obtener una matriz
de cadenas de caracteres extraidas del original.
-implode(separador,elementos); Junta en una cadena los elementos
de una matriz usando como concatenacion el separador pasacdo
como parametro.
-parse_str(cadena); Permite extraer y crear variables que
forman parte de una cadena que se corresponde con un "query
string" recibido de una URL.
*Apoyo
a HTML
-addcslashes(cadena,lista);
Devuelve una cadena que tiene escapados todos los caracteres
como parámetro.
-addslashes(cadena); Devuelve una cadena que tiene escapados
todos los caracteres logicos
-stripcslashes(); y stripslashes(); Reciben cadenas que pueden
contener caracteres de de escapes y los desescapan
-quotemeta(cadena); Esacapa los caracteres especiales
-htmlspecialchars(cadena); Lleva a cabo conversiones como
&->&,"->"
-htmlentities(); Convierte todos los caracteres a html
-get_html_translation_table(htmlentities o html_specialchars);
Obtiene la relacion de traduccion de cada caracter especial.
-array_flip(); Cambia el papal entre claves y valores de una
matriz asociativa
-get_meta_tags(nombre_fichero,include_path); Devuelve todos
los meta tags que contiene un HTML.
-strip_tags(cadena,mostrar_tags); Omite etiquetas PHP y HTML
, lo de mostrar_tags son las cadenas HTML y PHP no deben ser
omitidas en la lectura.
-n12br(cadena); Permite sustituir saltos de linea por <br>
-parse_url(cadena_url); Devuelve una matriz asociativa con
los siguientes campos:
Campo
Significado
scheme Http
host Ip o DNS
port puerto
user nombre usuario
password contraseña
path path completo al recurso
query query string con datos al recurso
urldecode decodifica la informacion
urlencode Codifica la informacion
|