martes, 8 de mayo de 2012

ENVIO DE EMAIL

Existen muchas formas de configurar la función mail() de php, a continuación os mostramos una manera completa de poder envíar emails con html embebido. Lo cual nos dará la posibilidad de personalizar con estilos css e imagenes enlazadas los emails de respuesta automática que obedecen a envío de formularios o suscripciones.

Primero debemos saber que necesitamos dos archivos, uno html y otro php. En el primero se encontrará el formulario donde haremos la llamada al archivo php para ejecutar el script:

Archivo Html: 

<form action="mail.php" method="post" name="form" enctype="multipart/form-data">
<input type=text name="email"/> 
Caja de texto para introducir la variable email 
<input type="submit" name="Submit" value="Enviar" /> 
Botón de enviar
</form>


Archivo Php que llamaremos mail.php:

Configuramos las variables necesarias y las cabeceras del email ($remitente, $adirección que será el valor introducido en el campo de texto email del formulario y que luego utilizaremos en la función mail, &asunto del mensaje y las $headers o cabeceras).

<?php
$adireccion=$email;
$asunto ="Envío emails php ";
$remitente="misitio@misitio.com";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: Mi sitio <$remitente>\r\n";
$headers .= "Reply-To: $remitente\r\n";
$headers .= "Return-path: $remitente\r\n";
$headers .= "Bcc: copiamensaje@misitio.com\r\n"; 
Esta cabecera envía una copia del mensaje a otra dirección. 

Ahora configuramos la variable $contenidomail, donde si os fijáis, está embebido todo el código hml que utilizaremos para personalizar nuestro email. Contiene la misma estructura que una página html con sus estilos css.

$contenidomail= '
<html>
<head>
<style type="text/css">

#encabezado {
background-color:#FFFFFF;
border:1px solid #999999;
margin:10px;
text-align:center;
}
#cuerpo {
background-color: #F4F4F4;
border:1px dotted #999999;
font: Arial, Helvetica, sans-serif;
color:#666666;
font-size:10pt;
width:600px;
}

</style>
</head>

<body>
<div id="encabezado">

<a href="http://www.misitio.com" target="_blank"><img src="http://www.misitio.com/imagenes/logo.gif"></a><br />
</div>
<div id="cuerpo">
Cuerpo del mensaje
</div>
</body>
</html>
';
Ahora ejecutamos la función mail donde se encuentran todas las variables necesarias para el envío del email que configuramos anteriormente.

mail ($adireccion, $asunto, $contenidomail,$headers);
?>


Finalmente el código html del archivo php en si.

<html>
<head>
<title>Mensaje</title>
</head>
<body>
Mensaje enviado con éxito.
</body>
</html> 


Con este planteamiento conseguimos enviar un email introducido en el campo de texto de un formulario. Pero si queremos, por ejemplo, que el formulario con otros campos de texto nos lleguen a nuestro correo y se genere otro email de respuesta automática debemos ejecutar una nueva función mail() con las variables para el segundo mensaje de una manera similar, incluído en el mismo archivo php. Modificaremos la variable $adireccion=$email por $adireccion="micorreo@micorreo.com"; para el mensaje que queremos recibir. 

FUNCIONES DEFINIDAS POR USUARIOS


Una función puede ser definida usando una sintaxis como la siguiente:
Ejemplo #1 Pseudo código para demostrar el uso de funciones
<?phpfunction foo($arg_1$arg_2/* ..., */ $arg_n)
{
    echo 
"Función de ejemplo.\n";
    return 
$valordevuelto;
}
?>

Cualquier código PHP válido puede aparecer dentro de una función, incluso otras funciones y definiciones de clases.
Los nombres de las funciones siguen las mismas reglas que otras etiquetas de PHP. Un nombre de función válido comienza con una letra o guión bajo, seguido de cualquier número de letras, números, o guiones bajos. Como expresión regular se expresaría así: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*.
Sugerencia
Las funciones no necesitan ser definidas antes de que se referencien, excepto cuando una función está condicionalmente definida como se muestra en los dos ejemplos de abajo.
Cuando una función está definida de una forma condicional como en los dos ejemplos mostrados, sus definiciones deben ser procesadas antes de ser llamadas.
Ejemplo #2 Funciones condicionales
<?php

$haceralgo 
true;
/* No podemos llamar a foo() desde aquí
   ya que no existe aún,
   pero podemos llamar a bar() */
bar();

if (
$haceralgo) {
  function 
foo()
  {
    echo 
"No existo hasta que la ejecución del programa llegue hasta mí.\n";
  }
}
/* Ahora podemos llamar de forma segura a foo()
   ya que $haceralgo se evaluó como verdadero */
if ($haceralgofoo();

function 
bar()
{
  echo 
"Existo desde el momento inmediato que comenzó el programa.\n";
}
?>

Ejemplo #3 Funciones dentro de funciones
<?phpfunction foo()
{
  function 
bar()
  {
    echo 
"No existo hasta que se llame a foo().\n";
  }
}
/* No podemos llamar aún a bar()
   ya que no existe. */
foo();
/* Ahora podemos llamar a bar(),
   el procesamiento de foo()
   la ha hecho accesible. */
bar();
?>

Todas las funciones y las clases de PHP tienen ámbito global - pueden ser llamadas fuera de una función incluso si fueron definidas dentro, y viceversa.
PHP no soporta la sobrecarga de funciones, ni es posible 'desdefinir' ni redefinir funciones previamente declaradas.
NotaLos nombres de las fuciones son insensibles a mayúsculas-minúsculas, por lo que es una buena idea llamar a las funciones tal y como aparecen en sus declaraciones.
El número variable de argumentos y los argumentos predeterminados están soportados por las funciones. Vea también las referencias de funciones parafunc_num_args()func_get_arg(), y func_get_args() para más información.
En PHP es posible llamar a funciones recursivas. Sin embargo, evite las llamadas a funciones/métodos recursivos con más de 100-200 niveles de recursividad ya que pueden agotar la pila y causar la terminación del script actual.
Ejemplo #4 Funciones recursivas
<?phpfunction recursividad($a)
{
    if (
$a 20) {
        echo 
"$a\n";
        
recursividad($a 1);
    }
}
?>


reject note add a note add a noteUser Contributed Notes Funciones definidas por el usuario
Caleb1994 01-Apr-2012 11:11
There isn't anything wrong with that. B() is in the global scope, and is therefore accessible at any point in the script. You may have been thinking of something like example #2, but in that example, foo() was encased within another block, which means it wasn't parsed until it's condition was checked and met.

I guess you could think of it as a recursive parser (Although I cannot claim to have any idea of how PHP's parser was coded on the backend). The top-level code (not in any brackets, functions, or other types of blocks) is parsed first. All coorasponding functions are defined, and stored. Next, the script begins to execute. When a conditional, block, or function is met, the block is scanned and any new functions, which need defining, are defined at that time.

I know that statement was two years old, but I figured I'd post some sort of explanation in order to clear up any other misguided new users. I hate finding a post with the exact same question, and no answer on the internet.

XKCD, Wisdom of the Ancients: http://xkcd.com/979/
gestioni at gerry dot it 12-Nov-2010 10:43
<?php
function A(){
    echo(
"Hello, I'm A\n");

}
echo(
"I just defined A\n");
return;

function 
B(){
    echo(
"Hello, I'm B\n");

}
echo(
"I just defined B\n");?>
If you include this file, the second echo() is not excuted but B() is still defined

TABLAS O ARRAYS

Un tipo de variable que ya hemos descrito pero puede ser relativamente complicado a asimilar con respecto a la mayoría son los arrays. Un array es una variable que está compuesta de varios elementos cada uno de ellos catalogado dentro de ella misma por medio de una clave.
En el capítulos anteriores poníamos el ejemplo de un array llamado sentido que contenía los distintos sentidos del ser humano:
$sentido[1]="ver";
$sentido[2]="tocar";
$sentido[3]="oir";
$sentido[4]="gustar";
$sentido[5]="oler";
En este caso este array cataloga sus elementos, comunmente llamados valores, por números. Los números del 1 al 5 son por lo tanto las claves y los sentidos son los valores asociados. Nada nos impide emplear nombres (cadenas) para clasificarlos. Lo único que deberemos hacer es entrecomillarlos:
<?
$moneda["espana"]="Peseta";
$moneda["francia"]="Franco";
$moneda["usa"]="Dolar";
?>
Otra forma de definir idénticamente este mismo array y que nos puede ayudar para la creación de arrays más complejos es la siguiente sintaxis:
<?
$moneda=array("espana"=> "Peseta","francia" => "Franco","usa" => "Dolar");
?>
Una forma muy practica de almacenar datos es mediante la creación de arrays multidimensionales (tablas). Pongamos el ejemplo siguiente: Queremos almacenar dentro de una misma tabla el nombre, moneda y lengua hablada en cada país. Para hacerlo podemos emplear un array llamado país que vendrá definido por estas tres características (claves). Para crearlo, deberíamos escribir una expresión del mismo tipo que la vista anteriormente en la que meteremos una array dentro del otro. Este proceso de incluir una instruccion dentro de otra se llama anidar y es muy corriente en programación:
<?
$pais=array
(
"espana" =>array
   (
   "nombre"=>"España",
   "lengua"=>"Castellano",
   "moneda"=>"Peseta"
   ),
"francia" =>array
   (
   "nombre"=>"Francia",
   "lengua"=>"Francés",
   "moneda"=>"Franco"
   )
);
echo $pais["espana"]["moneda"] //Saca en pantalla: "Peseta"
?>
Antes de entrar en el detalle de este pequeño script, comentemos algunos puntos referentes a la sintaxis. Como puede verse, en esta secuencia de script, no hemos introducido punto y coma ";" al final de cada línea. Esto es simplemente debido a que lo que hemos escrito puede ser considerado como una sola instrucción. En realidad, somos nosotros quienes decidimos cortarla en varias líneas para, así, facilitar su lectura. La verdadera instrucción acabaría una vez definido completamente el array y es precisamente ahí donde hemos colocado el único punto y coma. Por otra parte, podéis observar cómo hemos jugado con el tabulador para separar unas líneas más que otras del principio. Esto también lo hacemos por cuestiones de claridad, ya que nos permite ver qué partes del código están incluidas dentro de otras. Es importante acostumbrarse a escribir de esta forma del mismo modo que a introducir los comentarios ya que la claridad de los scripts es fundamental a la hora de depurarlos. Un poco de esfuerzo a la hora de crearlos puede ahorrarnos muchas horas a la hora de corregirlos o modificarlos meses más tarde.
Pasando ya al comentario del programa, como podéis ver, éste nos permite almacenar tablas y, a partir de una simple petición, visualizarlas un determinado valor en pantalla.
Lo que es interesante es que la utilidad de los arrays no acaba aquí, sino que también podemos utilizar toda una serie de funciones creadas para ordenarlos por orden alfabético directo o inverso, por claves, contar el numero de elementos que componen el array además de poder movernos por dentro de él hacia delante o atrás.
Muchas son las funciones propuestas por PHP para el tratamiento de arrays, no vamos a entrar aquí en una descripción de las mismas. Sólo incluiremos esta pequeña tabla que puede ser complementada, si necesario, con ladocumentación que ya hemos mencionado.
FunciónDescripción
array_values (mi_array)Lista los valores contenidos en mi_array
asort(mi_array) y arsort(mi_array)Ordena por orden alfabético directo o inverso en función de los valores
count(mi_array)Nos da el numero de elementos de nuestro array
ksort(mi_array) y krsort(mi_array)Ordena por orden alfabético directo o inverso en función de las claves
list ($variable1, $variable2...)=mi_arrayAsigna cada una variable a cada uno de los valores del array
next(mi_array), prev(mi_array), reset(mi_array) y end(mi_array)Nos permiten movernos por dentro del array con un puntero hacia delante, atras y al principio y al final.
each(mi_array)Nos da el valor y la clave del elemento en el que nos encontramos y mueve al puntero al siguiente elemento.
De gran utilidad es también el bucle foreach que recorre de forma secuencial el array de principio a fin.

FUNCIONES PREDEFINIDAS EN PHP


      Las funciones predefinidas o incorporadas son las funciones que vienen con PHP de forma predeterminada. Pero para hacer funcionar algunas de estas funciones, es necesario contar con algunas extensiones de PHP compiladas dentro de PHP. De lo contrario, le dará algunos errores graves. 

  Por ejemplo, para utilizar las funciones de MySQL para que funcione correctamente, PHP debe ser compilado con soporte MySQL. 

  Es importante saber lo que una función devuelve, o si una función trabaja directamente en un pasado en el valor, etc, para mejorar la calidad del código PHP. 

           FUNCIONES DE FECHA Y HORA. 

Gettimeofday Flecha Permite obtener la hora actual 
gmdate Flecha Da formato a una fecha/hora GMT/CUT 
gmmktime -> Obtiene el valor timestamp  de una fecha GMT 
gmstrftime -> Con esta función da formato a una fecha/hora GMT/CUT según las convenciones locales. 
microtime -> Devuelve el valor timestamp UNIX actual con microsegundos. 
mktime -> Obtiene el timestamp UNIX de una fecha. 
strftime -> Da formato a la hora o fehca local de acuerdo a a las convenciones locales. 
time -> Devuelve la hora de la fecha actual en formato timestamp UNIX 
strtotime -> Permite procesar cualquier descripción textual de fehca/hora en inglés, convirtiéndola a timestamp de UNIX. 
getdate -> Podemos obtener información de fecha y hora 
checkdate -> Esta función verifica que la fecha sea válida, y su sintaxis es la siguiente.

     FUNCIONES MATEMÁTICAS 
      abs -> Valor absoluto 
acos -> Arco coseno 
acosh -> Coseno hiperbólico inverso 
asin -> Arco seno 
asinh -> Seno hiérbólico inverso 
atan2 -> Arco tangente de dos variables 
atanh -> Atangente hiperbólica inversa 
base_convet -> Convierte un número entre bases arbitrarias 
BinDec -> Binario decimal 
ceil -> Redondea fracciones hacia arriba 
cos -> Coseno 
cosh -> Coseno hiperbólico 
DecBin -> Decimal a binario 
DecHex -> Decimal a hexadecimal 
DecOct -> Decimal a octal 
deg2rad -> Convierte el n´muero en grados a su equivalente en radianes. 
exp -> e elevado a... 
floor -> Redondea fracciones hacia abajo 
fmod -> Devuelve el residuo de punto flotante (módulo) de la divisón de los argumentos. 
getrandmax -> Muestra el mayor valor aleatorio posible 
HexDec -> Hexadecimal a decimal 
hypot -> Devuelve sqrt(num1*num1 + num2*num2) 
is_finite -> Encuentra si un valor es un número finito legal 
is_infinite -> Encuentra si un valor es infinito 
is_nan -> Encuentra si un valor es un número 
lcg_value -> Generador lineal congruente combinado. 
log10 -> Logaritmo en base-10 
log1p -> Devuelve log(1 + numero), computado en una forma que es precisa, incluso, cuando el valor es cercano a cero. 
log -> Logaritmo natural 
max -> Encuentra el valor mayor 
min -> Encuentra el valor menor 
mt_gentrandmax -> Muestra el mayor valor aleatorio posible 
mt_rand -> Genera un valor aleatorio mejorado 
mt_srand -> Introduce la semilla del generador de números aleatorios mejorado. 
OctDec -> Octal a decimal. 
pi -> Devuelve el valor de pi. 
pow -> Expresión exponencial 
rad2deg -> Converte el número en radianes a su equivalente en grados 
rand -> Genera un valor aleatorio 
round -> Redondea un float 
sin -> Seno. 
sinh -> Seno hiperbólico 
sqrt -> Raíz cuadrada 
srand -> Introduce la semilla del generador de números aleatorios 
tan -> Tangente 
tanh -> Tangente hiperbólica 

      FUNCIONES DE RED 
checkdnsrr -> Comprueba los registros DNS correspondientes a nombres de máquinas en Internet o direcciones IP. 
dns_get_record -> Recupera los registros de recursos DNS asociados con un nombre de dominio. 
fscokopen -> Abre una conección de dominio Internet o UNIX via sockets. 
gethostbyaddr -> Muestra el nombre de un servidor mediante su dirección IP 
gethostbyname -> Obtiene la direccion IP correspondiente al nombre de un servidor. 
gethostbynamel -> Obtiene una lista de direcciones IP correspodneinte a los servidores. 
getmxrr -> Obtiene los registros MX correspondientes a un dominio. 
ip2long -> Convierte una cadena que contiene una dirección con puntos del Protocol en una dirección apropiada. 
long2ip -> Convierte una dirección de red Interenet a una cadena de formato estandar en Internet con puntos. 
syslog -> Genera un mensaje del sistema 



FUNCIONES DE INFORMACIÓN SOBRE PHP 
assert -> Revisa si la aserción es evaluada a FALSE. 
dl -> Carga una extensión de PHP en tiempo de ejecución. 
extension_lodaded -> Indica si una extensión ha sido cargada. 
get_cfg_var -> Obtiene el valor de una opción de configuración de PHP. 
get_current_user -> Obtiene el nombre del propietario del programa actual. 
get_defined_constants -> Devuelve un array con los nombres de funciones de un módulo. 
get_include_path -> Indica la opción de configuración inlcude_path actual 
get_included_files -> Devuelve un array con los nombres de los archivos incluidos o requeridos en un programa. 
get_loaded_extensions -> Devuelve un array con los nombres de todos los módulos compilados y cargados. 
get_magic_quotes_gpc -> Obtiene el valor de la configuración activa actual de las comillas mágicas gpc 
get_magic_quotes_runtime -> Obtiene el valor de la configuración activa actual de magic_quote_runtime 
get_required_files -> Alias de get_included_files 
getenv -> Muestra el valor de una variable de entorno 
getlastmod -> Obtiene la fecha y hora de la última modificación de una página. 
getmyid -> Obtener el GID del propietario de un programa. 
getmyinode -> Recupera el inodo del script actual. 
getmypid -> Obtiene el ID del proceso PHP. 
getmyuid -> Indica el UID del propietario del script PHP. 
getopt -> Obtiene opciones de la lista de argumentos desde la línea de comandos. 
getrusage -> Muestra el consumo actual de recursos. 
ini_alter -> alias de ini_set() 
ini_get_all -> Muestra todas las opciones de configuración. 
ini_get -> Recupera el valor de una opción de configuración. 
ini_restore -> Restablece el valor de una opción de configuración. 
ini_set -> Establece el valor de una opción de configuración. 
main -> Página predeterminada para main() 
memory_get_usage -> Muestra la cantidad de memoria para PHP 
php_ini_scanned_files -> Devuelve la lista de los archivos .ini procesador del directorio ini adicional. 
php_logo_guif -> Obtiene el guid logo. 
php_sapi_name -> Devuelve el tipo de interfaz entre el servidor web y PHP. 
php_uname -> Muestra información indicando el sistema operativo donde fue compilado PHP. 
phpcredits -> Imprime los créditos de los creadores y colaboradores php. 
phpinfo -> Muestra una importante cantidad de información de PHP. 
phpversion -> Indica la versión actual de PHP. 
putenv -> Permite establece el valor de una variable de entorno. 
restore_include_path -> Restablece el valor de la opción de configuración include_path 
set_include_path -> Establece la configuración de include_path 
set_magic_quotes_runtime -> Establece el valor de la configuración activa actual de magic_quotes_runtimes. 
set_time_limit -> Limita el tiempo máximo de ejecución de un programa. Por defecto son 30 segundos. 
version_compare -> Compara dos cadenas de número de versión 'PHP-Estándar'. 
zend_logo_guid -> Obtiene el guid zend. 
zend_version -> Obtiene la versión del motor zend actual. 

FUNCIONES DE EJECUCIÓN DE PROGRAMAS 
escapeshellarg -> Ecapa una cadena a ser usada como argumento del intérprete de comandos. 
escapeshellcdm -> Enmascara los metacaracteres del intérprete de ordenes. 
exec -> Permite ejecutar un programa externo. 
passthru -> Ejecuta un programa externo y muestra su salida literal. 
proc_close -> Cierra un proceso abierto por proc_open() y devuelve el código de salida del proceso. 
proc_get_status -> Obtiene información sobre un proceso abierto por proc_open() 
proc_open -> Ejecuta un comando y abrir apuntadores de archivo para entrada/salida 
proc_terminate -> Mata un proceso abierto por proc_open() 
shell_exec -> Ejecuta un comando mediante el intérprete de comandos y devolver la salida completa como una cadena. 
system -> Ejecuta un programa externo y muestra su salida. 

FUNCIONES PARA EL MANEJO DE SESIONES 
session_cache_expire -> Informa la caducidad actual del caché. 
session_cache_limiter -> Lee y/o cambia el limitador del caché actual. 
session_decode -> Decodifica los datos de una sesión a partir de una cadena codificada previamente. 
session_destroy -> Destruye todos los datos de una sesión, pero no a la sesión en sí. 
session_encode -> Codifica los datos de la sesión en una cadena que luegro podrá ser decodificada. 
session_get_cookie_params -> Obtiene los parámetros de la cookie de la sesión actual. 
session_id -> Lee y/o cambia el id de la sesión actual. 
session_is_registered -> Comprueba si una variable está registrada en la sesión actual. 
session_module_name -> Lee y/o cambia el módulo de la sesión actual. 
session_name -> Lee y/o cambia el nombre de la sesión actual. 
session_regenerate_id -> Regenera el ID de la sesión actual. 
session_register -> Permite registrar más de una variable global en la sesión actual. 
session_save_path -> Lee y/o cambia la ruta donde se guardan los datos de la sesión actual. 
session_set_cookie_params -> Cambia los parámetros de la cookie de la sesión. 
session_set_save_handler -> Establece unas funciones para el almacenamiento de los datos de la sesión a nivel de usuario. 
session_start -> Inicia una sesión. 
session_unregister -> Desregistra una variable de la sesión actual. 
session_unset -> Elimina todas las variables de la sesión. 
session_write_close -> Escrie los datos de la sesión y la finaliza. 

FUNCIONES DE CADENAS 
AddCSlashes -> Marca una cadena con barras al estilo del C de la forma \. 
AddSlashes -> Marca una cadena con barras. 
bin2hex -> Convierte datos binarios en su representación en hexadecimal. 
chop -> Elimina los espacios en blanco al final de una cadena. 
chr -> Devuelve un carácter específico sobre un número dado. 
chunk_split -> Divide una cadena en trozos más pequeños. 
convert_cyr_string -> Convierte de un juego de caracteres Cirílico a otro. 
count_chars -> Muestra información sobre los caracteres usados en una cadena. 
crc32 -> Calcula el polinomio crc32 de una cadena. 
crypt -> Encripta una cadena mediante DES. 
echo -> Imprime una o más cadenas. 
explode -> Divide una cadena por otra. 
fprintf -> Escribe una cadena con formato por una secuencia. 
get_html_translation_table -> Devuelve la tabla de traducción utilizada por htmlspecialchars() y htmlentities() 
hebrev -> Convierte hebreo lógico a texto visual. 
hrebevc -> Convierte ebrero lógico a texto visual con conversión de saltos de línea. 
html_entity_decode -> Convierte todas las entidades HTML a sus respectivos caraceteres. 
htmlentitites -> Convierte los caracteres aplicables a entidades HTML. 
implode -> Une elementos de un array mediante una cadena. 
join -> Une elementos de una tabla en una cadena. 
levenshtein -> Calcula la distancia levenshtein entre dos cadenas- 
localconv -> Muestra información sobre el formato numérico. 
ltrim -> Elimina espacios en blanco del principio de una cadena. 
md5_file -> Calcula el resumen criptográfico md5 de un nombre de archivo dado. 
md5 -> Calcula el hash md5 de una cadena 
metaphone -> Calcula la 'metafona' de una cadena. 
money_format -> Permite dar formato a un número como una cadena de moneda. 
nl_langinfo -> Consulta información sobre el lenguaje y la localidad. 
nl2br -> Convierte nuevas líneas a saltos de líneas HTML 
number_format -> Formatea un número con los miles agrupados y separadores decimales. 
ord -> Devuelve al valor ASCII de un cáracter. Función inversa de char. 
parse_str -> Divide la cadena en variables. 
print -> Imprime en pantalla una cadena. 
printf -> Imprime una cadena con formato. 
quoted_printable_decode -> Convierte una cadena con marcación imprimible a una cadena de 8 bits. 
rtrim -> Borra los espacios en blanco al final de la cadena. 
setlocale -> Fija la información de la localidad. 
sha1_file -> Calcula el resumen criptográfio sha1 de un archivo. 
sha1 -> Calcula el resumen criptográfio sha1 de una cadena. 
similar_text -> Calcula la similitud entre dos cadenas. 
soundex -> Calcula la clave soundex en una cadena. 
sprintf -> Devuelve una cadena con formato, pero no la imprime 
sscanf -> Trocea la entrada de una cadena según un formato dado. 
str_ireplace -> Versión 'case insensitive' de str_replace() 
str_pad -> Rellena una cadena con otra hasta una longitud definida. 
str_repeat -> Repite una cadena 
str_replace -> Sustituye todas las de una cadena en otra. 
str_rot13 -> Realiza la transofrmación rt13 sobre una cadena. 
str_split -> Permite mezclar aleatoreamente una cadena. 
str_word_count -> Muestra información sobre las palabras usadas en una cadena. 
strcasecmp -> Comapra cadenas insensibles en mayúsculas y minúsculas y seguras en modo binario. 
strchr -> Encuentra la primera aparición de un caracter en una cadena. 
strcmp -> Compara cadenas con seguridad binaria. 
strcoll -> Compara cadenas sobre la base de la localidad. 
strcspn -> Encuentra la longitud del elemento inicial que no coincide con la máscara. 
strip_tags -> Elimina las etiquetas HTML y PHP de una cadena. 
stripcslashes -> Desmarca la cadena marca don AddCSlashes() 
stripos -> Encuentra la posición de la primera ocurrencia de una cadena, insensible a mayúsculas y minúsculas. 
stripslashes -> Desmarca la cadena marcada con AddSlashes(). 
stristr -> Igual que strrstr, pero sin tener en cuenta mayúsculas o minúsculas. 
strlen -> Muestra el largo de una cadena. 
strnatcasecmp -> Compara cadenas insensibles a mayúsculas y minúsculas usando un algoritmo de "orden natural" 
strnatcmp -> Compara cadenas usando un algoritmo de "orden natural" 
strncasecmp -> Compara de los primeros n caracteres de cadenas. 
strncmp -> Compara de los n primeros caraceteres de cadenas, son seguridad binaria. 
strpos -> Encuentra la posición de la primera aparición de una cadena en otra cadena. 
strrchr -> Encuentra la última aparición de una cadena en otra cadena. 
strrev -> Invierte el orden de una cadena. 
strripos -> Encuentra la posición de la última ocurrencia de una cadena en otra, insensible a mayúsculas y minúsculas. 
strrpos -> Encuentr la posición de la última aparición de un carácter en una cadena. 
strspn -> Encuentra la longitud del segmento inicial que coincide con la máscara. 
strstr -> Encuentra la primera aparición de una cadena. 
strtok -> Didive una cadena en elementos. 
strtolower -> Pasa a minúsculas una cadena. 
strtoupper -> Pasa a mayúsculas una cadena. 
strtr -> Traduce ciertos caracteres. 
substr_compare -> Compara 2 cadenas, segura con material binario, opcionalmente insensible a mayúsculas y minpusculas, a partir de un desplezamiento y hasta un límite de caracteres. 
substr_count -> Cuenta el número de apariciones de una subcadena en una cadena. 
substr_replace -> Sustituye un texto en una parte de una cadena. 
substr -> Devuelve parte de una cadena 
trim -> Elimina espacios del principio y del fin de una cadena. 
ucfirst -> Pasa a mayúsculas el primer caracter de una cadena. 
ucwords -> Pasa a mayúsculas la primera letra de cada palabra de una cadena. 
vprintf -> Imprime una cadena con formato. 
vsprintf -> Devuelve una cadena con formato. 
wordwrap -> Corta una cadena en un número dado de caracteres usando un caracter de ruptura de cadenas. 

FUNCIONES PARA EL TRATAMIENTO DE URL 
base64_decode -> Decodifica datos cifrados con el tipo MIME base64 
base64_enocde -> Codifica datos en MIME base64 
get_meta_tags -> Extrae todo el contenido de atributos de etiquetas meta de un archivo y devuelve una mtriz, por ejemplo keywords o description. 
http_build_query -> Genera una cadena de consulta codificada estilo URL 
parse_url -> Analiza una URL y nos devuelve sus componentes. 
rawurldecode -> Decodifica cadenas codificas previamente estilo URL 
rawurlencode -> Codifica una cadena al estilo URL de acuerdo con el RFC 1738 
urldecode -> Decodifica URL cifradas en una cadena de texto. 
urlencode -> Codifia una URL en una cadena de texto. 

FUNCIONES DE VARIABLES 
doubleval -> Obtiene el valor double de una variable 
empty -> Indica si una variable está definida. 
floatval -> Obtiene el valor flotante de una variable. 
get_defined_vars -> Devuelve un array con todas las variables definidas. 
get_resource_type -> Devuelve el tipo de recurso. 
gettype -> Muestra el tipo de una variable. 
import_request_variables -> IMporta variables GET/POST/Cookie en el contezto global. 
intval -> Recupera el valor entero de una variable. 
is_array -> Verifica si una variable es un array 
is_bool -> Verifica si una variable es de tipo booleana 
is_callable -> Verifica que los contenidos de una variable puedan ser llamadoscomo una función. 
is_double -> Verifica si una variable es es un valor double. 
is_float -> Verifica si una variable es un flotante 
is_int -> Verifica si una variable es un valor entero 
is_integer -> Verifica si una variable es un valor entero 
is_long -> Verifica si una variable es un valor entero 
is_null -> Verifica si una variable es nula 
is_numeric -> Verifica si una variable es un número o una cadena númerica 
is_object -> Verifica si una variable es un objeto 
is_real -> Verifica si una variable es un número real. 
is_resource -> Verifica si una variable es un recurso 
is_scalar -> Verifica si una variable es un escalar 
is_string -> Verifica si una variable es una cadena de caracteres 
isset -> Determina si una variable está definida 
print_r -> Imprime información legible para humanos sobre una variable 
serialize -> Genera una representación apta para almacenamiento de un valor. 
settype -> Permite establecer el tipo de una variable 
strval -> Obtiene una cadena de caracteres a partir de una variable 
unserialize -> Crea u valor PHP a partir de una representación almacenada. 
unset -> Destruye una variable pasada como parámetro. 
var_dump -> Vuelca la información sobre una variable 
var_export -> Imprime o devuelve la representación de cadena de una variable 

FUNCIONES PARA EXPRESIONES REGULARES 
ereg_replace -> Reemplaza expresiones regulares 
ereg -> Busca coincidencia de expresiones regulares 
eregi_replace -> Reemplaza expresiones regularse sin diferencias mayúsculas ni minúsculas 
eregi -> Busca coincidencias de expresiones regulares sin diferencias mayúsculas ni minúsculas 
split -> Divide la cadena en elementos de un array. 
spliti -> Separa una cadena en un matriz mediante una expresión regular, no sensible a mayúsculas ni minúsculas. 
sql_regcase -> Construye una expresión regular para buscar coincidencias sin diferencias mayúsculas ni minúsculas