Funciones de string en PHP categorizadas

Mayúsculas/Minúsculas (5)

  • ucfirst — Convierte el primer caracter de una cadena a mayúsculas
  • ucwords — Convierte a mayúsculas el primer caracter de cada palabra de una cadena
  • lcfirst — Pasa a minúscula el primer caracter de un string
  • strtolower — Convierte una cadena a minúsculas
  • strtoupper — Convierte un string a mayúsculas

Limpiar cadena (4)

  • trim — Elimina espacio en blanco (u otro tipo de caracteres) del inicio y el final de la cadena
  • ltrim — Retira espacios en blanco (u otros caracteres) del inicio de un string
  • rtrim — Retira los espacios en blanco (u otros caracteres) del final de un string
  • chop — Alias de rtrim

Convertir en array (7)

  • explode — Divide un string en varios string
  • str_split — Convierte un string en un array
  • implode — Une elementos de un array en un string
  • join — Alias de implode
  • strtok — Tokeniza string
  • chunk_split — Divide una cadena en trozos más pequeños
  • str_getcsv — Convierte un string con formato CSV a un array

Buscar cadenas (10)

  • strpos — Encuentra la posición de la primera ocurrencia de un substring en un string
  • strripos — Encuentra la posición de la última aparición de un substring insensible a mayúsculas y minúsculas en un string
  • strrpos — Encuentra la posición de la última aparición de un substring en un string
  • stripos — Encuentra la posición de la primera aparición de un substring en un string sin considerar mayúsculas ni minúsculas
  • strstr — Encuentra la primera aparición de un string
  • stristr — strstr insensible a mayúsculas y minúsculas
  • strchr — Alias de strstr
  • strrchr — Encuentra la última aparición de un caracter en un string
  • strpbrk — Buscar una cadena por cualquiera de los elementos de un conjunto de caracteres
  • strspn — Averigua la longitud del segmento inicial de un string que consista únicamente en caracteres contenidos dentro de una máscara dada.

Funciones de información y manipulación de cadenas (14)

  • strlen — Obtiene la longitud de un string
  • str_ireplace — Versión insensible a mayúsculas y minúsculas de str_replace
  • str_pad — Rellena un string hasta una longitud determinada con otro string
  • str_repeat — Repite un string
  • str_replace — Reemplaza todas las apariciones del string buscado con el string de reemplazo
  • str_shuffle — Reordena aleatoriamente una cadena
  • strrev — Invierte una string
  • substr_count — Cuenta el número de apariciones del substring
  • substr_replace — Reemplaza el texto dentro de una porción de un string
  • substr — Devuelve parte de una cadena
  • chr — Devuelve un caracter específico
  • ord — devuelve el valor ASCII de un caracter
  • strtr — Convierte caracteres o reemplaza substrings
  • wordwrap — Ajusta un string hasta un número dado de caracteres

Contar y formatos (7)

  • count_chars — Devuelve información sobre los caracteres usados en una cadena
  • localeconv — Obtener información sobre el formato numérico
  • money_format — Da formato a un número como un string de moneda
  • nl_langinfo — Consulta información sobre el idioma y la configuración regional
  • number_format — Formatear un número con los millares agrupados
  • str_word_count — Devuelve información sobre las palabras utilizadas en un string
  • setlocale — Establecer la información del localismo

Escapar/convertir cadenas (13)

  • addcslashes — Escapa una cadena al estilo de C
  • addslashes — Escapa un string con barras invertidas
  • html_entity_decode — Convierte todas las entidades HTML a sus caracteres correspondientes
  • htmlentities — Convierte todos los caracteres aplicables a entidades HTML
  • htmlspecialchars_decode — Convierte entidades HTML especiales de nuevo en caracteres
  • htmlspecialchars — Convierte caracteres especiales en entidades HTML
  • get_html_translation_table — Devuelve la tabla de traducción utilizada por htmlspecialchars y htmlentities
  • stripslashes — Quita las barras de un string con comillas escapadas
  • strip_tags — Retira las etiquetas HTML y PHP de un string
  • stripcslashes — Desmarca la cadena marcada con addcslashes
  • nl2br — Inserta saltos de línea HTML antes de todas las nuevas líneas de un string
  • quotemeta — Escapa meta caracteres
  • parse_str — Convierte el string en variables

Mostrar por pantalla u otros dispositivos (9)

  • echo — Muestra una o más cadenas
  • fprintf — Escribir una cadena con formato a una secuencia
  • print — Mostrar una cadena
  • printf — Imprimir una cadena con formato
  • sprintf — Devuelve un string formateado
  • vfprintf — Escribe un string con formato en un flujo
  • vprintf — Muestra una cadena con formato
  • vsprintf — Devuelve una cadena con formato
  • sscanf — Interpreta un string de entrada de acuerdo con un formato

Funciones de encriptación (9)

  • crc32 — Calcula el polinomio crc32 de una cadena
  • crypt — Hash de cadenas de un sólo sentido
  • md5_file — Calcula el resumen criptográfico md5 de un archivo dado
  • md5 — Calcula el ‘hash’ md5 de un string
  • sha1_file — Calcula el hash sha1 de un archivo
  • sha1 — Calcula el ‘hash’ sha1 de un string
  • str_rot13 — Realizar la transformación rot13 sobre una cadena
  • convert_uudecode — Descodifica una cadena codificada mediante uuencode
  • convert_uuencode — Codificar mediante uuencode una cadena

Similaridad de cadenas (4)

  • levenshtein — Cálculo de la distancia Levenshtein entre dos strings
  • similar_text — Calcula la similitud entre dos strings
  • soundex — Calcula la clave soundex de un string
  • metaphone — Calcula la clave metaphone de un string

Comparación de cadenas (9)

  • strcasecmp — Comparación de string segura a nivel binario e insensible a mayúsculas y minúsculas
  • strcmp — Comparación de string segura a nivel binario
  • strcoll — Comparación de cadenas basada en la localidad
  • strcspn — Averiguar la longitud del segmento inicial que no coincida con una máscara
  • strnatcasecmp — Comparación de strings, insensible a mayúsculas y minúsculas, utilizando un algoritmo de «orden natural»
  • strnatcmp — Comparación de strings utilizando un algoritmo de «orden natural»
  • strncasecmp — Comparación de los primeros n caracteres de cadenas, segura con material binario e insensible a mayúsculas y minúsculas
  • strncmp — Comparación segura a nivel binario de los primeros n caracteres entre strings
  • substr_compare — Comparación segura a nivel binario de dos o más strings desde un índice hasta una longitud de caracteres dada

Otros alfabetos y hexadecimal (7)

  • hex2bin — Decodifica una cadena binaria codificada hexadecimalmente
  • bin2hex — Convierte datos binarios en su representación hexadecimal
  • hebrev — Convierte texto hebreo lógico a texto visual
  • hebrevc — Convertir texto de hebreo lógico a texto visual con conversión de línea nueva
  • convert_cyr_string — Convierte de un juego de caracteres cirílico a otro juego de caracteres cirílico
  • quoted_printable_decode — Convierte un string quoted-printable en un string de 8 bits
  • quoted_printable_encode — Convierte un string de 8 bits en un string quoted-printable

Funciones de cadena en PHP

Buscar una subcadena dentro de otra. Ejemplo ‘¿Tiene una cadena la @?’:

if (strpos($_POST['email'], '@') === false) {
print 'No hay arroba (@)';
}

Ponemos ‘===’ porque si la arroba está en la posición 0 se entiende como false.

El siguiente código nos devuelve el número de apariciones de una cadena en otra:

function contarCadena($pajar, $aguja) {
    $pos = strpos($pajar, $aguja);
    $cont = 0;
    while ($pos !== false) {
        $cont++;
        $pos = strpos($pajar, $aguja, $pos + 1);
    }
    return $cont;
}

Obtener subcadenas de una cadena. Ejemplo: ‘Obtener los cuatro primeros caracteres del código’.

$substring = substr($string,$start,$length);
$codigo='ABCD123456';
$parte=substr($codigo,0,4); //$parte='ABCD'
$parte=substr($codigo,4,4); //$parte='1234'
$parte=substr($codigo,4); //$parte='123456'
$parte=substr($codigo,-4); //$parte='3456'

Ejercicio: dada una cadena obtener otra con los dos primeros caracteres y los dos últimos.

Mayúsculas y minúsculas:

print ucfirst("how do you do today?"); //Primera letra
print ucwords("the prince of wales"); //primera letra de cada palabra
print strtoupper("i'm not yelling!"); //mayúsculas
print strtolower('<a href="one.php">one</a>'); // minúsculas

Partir cadenas con explode (por separador):

$cadena="hola que tal";
$palabras=explode($cadena); //Array ( [0] => hola [1] => que [2] => tal )
echo implode("-",$palabras);//hola-que-tal

Reemplazar una cadena por otra:

echo str_replace("a", "#", "hola que tal"); //hol# que t#l

Repetir una cadena:

echo str_repeat("|-|",6); //|-||-||-||-||-||-|

Ejemplos cadenas y expresiones regulares

<?php
 $cadena = "Hola que tal?";
 $buscar = "Ho";
 echo strpos($cadena, "Ho"); //Devuelve 0
 echo strpos($cadena, "ho"); //Devuelve false
 echo stripos($cadena, "ho"); //Devuelve 0 (case insensitive)
 echo strpos($cadena, "Pepe"); //Devuelve false
 echo strpos($cadena, "la"); //Devuelve 2

if (strpos($cadena, "WW") === false) {
 echo "NO está";
 }
 if (strpos($cadena, "Ho") === false) {
 echo "NO está";
 }

//$substring = substr($string, $start, $length);
 $codigo = 'ABCD123456';
 $parte = substr($codigo, 0, 4); //$parte='ABCD'
 $parte = substr($codigo, 4, 4); //$parte='1234'
 $parte = substr($codigo, 4); //$parte='123456'
 $parte = substr($codigo, -4); //$parte='3456'

echo strlen($codigo); //Longitud de una cadena

echo str_word_count($cadena);

print ucfirst("how do you do today?"); //Primera letra
 print ucwords("the prince of wales"); //primera letra de cada palabra
 print strtoupper("i'm not yelling!"); //mayúsculas
 print strtolower('one'); // minúsculas
 $cadena = "Hola que tal?";
 echo str_replace("la", "lalala", $cadena);
 echo str_ireplace("La", "lalala", $cadena);

echo trim(" hola que tal "); //Quita espacios alrededor
 echo strrev($cadena); //Le da la vuelta a la cadena

function esMail($cadena) {
 $pos1 = strpos($cadena, "@");
 $pos2 = strpos($cadena, ".");
 if ($pos1 === false || $pos2 === false) {
 return false;
 }
 if ($pos1 > $pos2) {
 return false;
 }
 return true;
 }

function esMail2($cadena) {
 $pos1 = strpos($cadena, "@");
 $pos2 = strrpos($cadena, ".");
 return $pos1 !== false && $pos2 !== false && $pos2 > $pos1;
 }

function esMail3($cadena) {
 return preg_match("/.+@.+\..+/", $cadena);
 }

echo "<hr>";
 echo var_dump(esMail("pepe@pepe.com"));
 echo var_dump(esMail("hola que tal"));
 echo var_dump(esMail("pepe.pepe@com"));
 echo "<hr>";
 echo var_dump(esMail3("pepe@pepe.com"));
 echo var_dump(esMail3("hola que tal"));
 echo var_dump(esMail3("pepe.pepe@com"));
 echo "<hr>";

$string = "Hola que 454 56tal 667 php89 es pooop";
 preg_match_all("/[0-9]{2,3}/", $string, $matches);
 var_dump($matches); // hla

$cp1 = "08001";
 $cp2 = "009";

var_dump(preg_match("/[0-9]{5}/", $cp1));
 var_dump(preg_match("/[0-9]{5}/", $cp2));

echo "El alcalde de l'hospitalet ha dicho \"No dimitiré\"";
 echo "<div onclick='saludo(\"hola\")'>";

function emailValidation($email) {
 $regex = "/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,10})$/";
 $email = strtolower($email);

return preg_match($regex, $email);
 }
 ?>