informaticaPC

Tutorial de PHP

Unir cadenas de texto, convertir mayúsculas y minúsculas, buscar texto...


Regístrate

Tus datos no serán compartidos, solo nosotros te enviaremos información y novedades

Cadenas de texto en PHP

Una cadena de texto la componen una serie de caracteres (letras, números y/o símbolos) delimitados normalmente entre comillas dobles o simples.

Convertir mayúsculas y minúsculas

Usaremos las funciones de PHP strtoupper() para convertir una cadena a mayúsculas y strtolower() para convertir una cadena a minúsculas.

También disponemos de ucfirst() para obtener una cadena de texto con el primer carácter en mayúsculas, y de ucwords() para convertir a mayúsculas el primer carácter de cada palabra.

La función lcfirst() nos devuelve una cadena de texto con el primer carácter en minúsculas.

<?php
    $cadena = "aprendiendo a programar en PHP";

    // Devuelve: "aprendiendo a programar en php"
    echo strtolower( $cadena )."<br />";

    // Devuelve: "APRENDIENDO A PROGRAMAR EN PHP"
    echo strtoupper( $cadena )."<br />";

    // Devuelve: "Aprendiendo a programar en PHP"
    echo ucfirst( $cadena )."<br />";

    // Devuelve: "Aprendiendo A Programar En PHP"
    echo ucwords( $cadena );
?>

Descargar ejemplo

Más información

Vea también: [ strtoupper() ] - [ strtolower() ] - [ ucfirst() ] - [ lcfirst() ] - [ ucwords() ]

Obtener la longitud de una cadena

La función de PHP strlen() nos devuelve la longitud de una cadena de caracteres (si contiene secuencias de escape cuentan como uno más):

<?php
    $cadena1 = "Aprendiendo a programar en PHP";
    $cadena2 = "Aprendiendo a programar en PHP\n";

    // Devuelve: "La longitud de la cadena es de [30] caracteres."
    echo "La longitud de la cadena es de [".strlen($cadena1)."] caracteres.<br />";

    // Devuelve: "La longitud de la cadena es de [31] caracteres."
    echo "La longitud de la cadena es de [".strlen($cadena2)."] caracteres.<br />";
?>

Descargar ejemplo

Sin embargo hay que tener en cuenta que el valor devuelto dependerá de si el propio archivo se guardó con el juego de caracteres UTF-8 y contiene determinados caracteres y símbolos de acentuación.

En el siguiente ejemplo obtendremos los resultados mostrados en un archivo con codificación UTF-8:

<?php
    $cadena1 = "Es dia de aprender programar en PHP";
    $cadena2 = "Es día de aprender programar en PHP";
    $cadena3 = "Es dïa de aprender programar en PHP";

    // Devuelve: "La longitud de la cadena es de [35] caracteres."
    echo "La longitud de la cadena es de [".strlen($cadena1)."] caracteres.<br />";

    // Devuelve: "La longitud de la cadena es de [36] caracteres."
    echo "La longitud de la cadena es de [".strlen($cadena2)."] caracteres.<br />";

    // Devuelve: "La longitud de la cadena es de [36] caracteres."
    echo "La longitud de la cadena es de [".strlen($cadena3)."] caracteres.<br />";
?>

Descargar ejemplo

Observa que para las cadenas que contienen tilde y diéresis se obtiene una longitud incorrecta.

Para solventar este problema utilizaremos la función utf8_decode() del siguiente modo:

<?php
    $cadena1 = "Es dia de aprender programar en PHP";
    $cadena2 = "Es día de aprender programar en PHP";
    $cadena3 = "Es dïa de aprender programar en PHP";

    // Devuelve: "La longitud de la cadena es de [35] caracteres."
    echo "La longitud de la cadena es de [".strlen(utf8_decode($cadena1))."] caracteres.<br />";

    // Devuelve: "La longitud de la cadena es de [35] caracteres."
    echo "La longitud de la cadena es de [".strlen(utf8_decode($cadena2))."] caracteres.<br />";

    // Devuelve: "La longitud de la cadena es de [35] caracteres."
    echo "La longitud de la cadena es de [".strlen(utf8_decode($cadena3))."] caracteres.<br />";
?>

Descargar ejemplo

NOTA: para definir el juego de caracteres de un archivo deberás seleccionarlo a la hora de guardarlo (aunque dependiendo del editor que uses es posible que haya que hacerlo de otro modo).

UTF-8

Más información

Vea también: [ strlen() ] - [ utf8_encode() ]

Concatenar o unir cadenas

Podemos concatenar (unir) cadenas de caracteres usando el punto como operador de concatenación:

<?php
    $cadena1 = "Aprendiendo a";
    $cadena2 = "programar en ";
    $cadena3 = "PHP";

    // Devuelve: "Aprendiendo a programar en PHP"
    echo $cadena1." ".$cadena2.$cadena3;
?>

Descargar ejemplo

Convertir a cadena de caracteres

Tal y como hemos visto anteriormente, podemos convertir un número a cadena concatenándolo usando el punto:

<?php
    $cadena = "8567";
    $cadena = "El importe total es: [".$cadena."]";

    echo $cadena;
?>

Descargar ejemplo

Buscar una cadena dentro de otra

Si necesitamos averiguar si una cadena de caracteres contiene parte de otra cadena usaremos la funciones de PHP strpos() (distingue entre mayúsculas y minúsculas) y stripos() (no distingue entre mayúsculas y minúsculas), que devolverán un valor numérico indicando la posición en la que ha sido hallada la cadena buscada dentro de la cadena de texto principal, o bien false si no se ha encontrado la coincidencia.

IMPORTANTE: ambas funciones pueden devolver tanto un valor de tipo lógico o booleano 'false', como un valor de otro tipo de dato pero que será evaluado como 'false' (cero, o una cadena vacía interpretada con dos comillas seguidas ""): por lo tanto debemos usar el operador === (que considera como válida una expresión sólo si ambos valores son iguales, y además del mismo tipo de datos) para realizar la comprobación:

<?php
    $cadena = "Aprendiendo a programar en PHP";

    $posicion1 = strpos($cadena, "php");
    $posicion2 = stripos($cadena, "php");
    $posicion3 = strpos($cadena, "PHP");

    // Devuelve: No se ha encontrado la cadena 'php'
    if( $posicion1 === false )
        echo "No se ha encontrado la cadena 'php'<br />";
    else
        echo "Cadena 'php' encontrada en la posición [".$posicion1."]<br />";

    // Devuelve: Cadena 'php' encontrada en la posición [27]
    if( $posicion2 === false )
        echo "No se ha encontrado la cadena 'php'<br />";
    else
        echo "Cadena 'php' encontrada en la posición [".$posicion2."]<br />";

    // Devuelve: Cadena 'PHP' encontrada en la posición [27]
    if( $posicion3 === false )
        echo "No se ha encontrado la cadena 'PHP'<br />";
    else
        echo "Cadena 'PHP' encontrada en la posición [".$posicion3."]<br />";
?>

Descargar ejemplo

Similares a las anteriores son las funciones strrpos() (distingue entre mayúsculas y minúsculas) y strripos() (no distingue entre mayúsculas y minúsculas), que en lugar de devolver la posición de la primera aparición de una cadena dentro de otra devuelven la posición de la última coincidencia.

Por último, si necesitáramos saber cuántas veces aparece una cadena dentro de otra usaremos la función substr_count(), teniendo en cuenta que distingue entre mayúsculas y minúsculas:

<?php
    $cadena = "Cursos de informática gratis - los mejores cursos gratis";

    echo "->".substr_count( $cadena, "urso" )."<br />";		// Devuelve: 2
    echo "->".substr_count( $cadena, "urso", 10 )."<br />";	// Devuelve: 1
?>

Descargar ejemplo

Primera página Anterior Siguiente Última página
Usamos cookies para ofrecerte una experiencia mejorada, el continuar navegando supone que aceptas su uso