Ayudante de texto

El archivo Text Helper contiene funciones que ayudan a trabajar con texto.

Cargando este ayudante

Este ayudante se carga usando el siguiente código:

<?php

helper('text');

Funciones disponibles

Están disponibles las siguientes funciones:

random_string([$type = 'alnum'[, $len = 8]])
Parámetros:
  • $tipo (string) – tipo de aleatorización

  • $len (int) – longitud de la cadena de salida

Devuelve:

una cadena aleatoria

Tipo del valor devuelto:

cadena

Genera una cadena aleatoria según el tipo y la longitud que especifique. Útil para crear contraseñas o generar hashes aleatorios.

Advertencia

For types: basic, md5, and sha1, generated strings no son criptográficamente seguros. Por lo tanto, estos tipos no se pueden utilizar. para fines criptográficos o fines que requieran valores de retorno inimaginables. Desde v7.3.3, estos tipos están en desuso.

El primer parámetro especifica el tipo de cadena, el segundo parámetro especifica la longitud. Están disponibles las siguientes opciones:

  • alfa: una cadena con letras minúsculas y mayúsculas únicamente.

  • alnum: Cadena alfanumérica con caracteres en minúsculas y mayúsculas.

  • básico: [obsoleto] Un número aleatorio basado en mt_rand() (longitud ignorada).

  • numeric: Cadena numérica.

  • nozero: Cadena numérica sin ceros.

  • md5: [obsoleto] Un número aleatorio cifrado basado en md5() (longitud fija de 32).

  • sha1: [obsoleto] Un número aleatorio cifrado basado en sha1() (longitud fija de 40).

  • crypto: Una cadena aleatoria basada en random_bytes().

Nota

When you use crypto, you must set an even number to the second parameter. Desde v7.2.2, si establece un número impar, se generará InvalidArgumentException.

Nota

Since v7.3.3, alpha, alnum and nozero use random_byte(), y numeric usa random_int(). En las versiones anteriores, usaba str_shuffle() que no es criptográficamente seguro.

Ejemplo de uso:

<?php

echo random_string('alnum', 16);
increment_string($str[, $separator = '_'[, $first = 1]])
Parámetros:
  • $cadena (string) – cadena de entrada

  • $separator (string) – Separador al que agregar un número duplicado

  • $first (int) – Número inicial

Devuelve:

una cadena incrementada

Tipo del valor devuelto:

cadena

Incrementa una cadena agregándole un número o aumentando el número. Útil para crear «copias» o un archivo o duplicar una base de datos contenido que tiene títulos o slugs únicos.

Ejemplo de uso:

<?php

echo increment_string('file', '_'); // "file_1"
echo increment_string('file', '-', 2); // "file-2"
echo increment_string('file_4'); // "file_5"
alternator($args)
Parámetros:
  • $args (mixed) – un número variable de argumentos

Devuelve:

Cadena(s) alternada(s)

Tipo del valor devuelto:

mixto

Permite alternar dos o más elementos al recorrerlos un bucle. Ejemplo:

<?php

for ($i = 0; $i < 10; $i++) {
    echo alternator('string one', 'string two');
}

Puede agregar tantos parámetros como desee y con cada iteración de su bucle se devolverá el siguiente elemento.

<?php

for ($i = 0; $i < 10; $i++) {
    echo alternator('one', 'two', 'three', 'four', 'five');
}

Nota

To use multiple separate calls to this function simply call the función sin argumentos para reinicializar.

reduce_double_slashes($str)
Parámetros:
  • $cadena (string) – cadena de entrada

Devuelve:

Una cadena con barras normalizadas

Tipo del valor devuelto:

cadena

Convierte barras dobles en una cadena en una sola barra, excepto aquellas se encuentra en los prefijos del protocolo URL (por ejemplo, http://).

Ejemplo:

<?php

$string = 'http://example.com//index.php';
echo reduce_double_slashes($string); // results in "http://example.com/index.php"
strip_slashes($data)
Parámetros:
  • $datos (mixed) – cadena de entrada o una matriz de cadenas

Devuelve:

Cadena(s) con barras eliminadas

Tipo del valor devuelto:

mixto

Elimina las barras diagonales de una serie de cadenas.

Ejemplo:

<?php

$str = [
    'question' => "Is your name O\\'reilly?",
    'answer'   => "No, my name is O\\'connor.",
];

$str = strip_slashes($str);

Lo anterior devolverá la siguiente matriz:

<?php

[
    'question' => "Is your name O'reilly?",
    'answer'   => "No, my name is O'connor.",
];

Nota

For historical reasons, this function will also accept y manejar entradas de cadenas. Sin embargo, esto lo convierte en sólo un alias de stripslashes().

reduce_multiples($str[, $character = ''[, $trim = false]])
Parámetros:
  • $str (string) – Texto para buscar

  • $character (string) – Carácter a reducir

  • $trim (bool) – si se debe recortar también el carácter especificado

Devuelve:

cadena reducida

Tipo del valor devuelto:

cadena

Reduce múltiples instancias de un carácter particular que ocurre directamente uno tras otro. Ejemplo:

<?php

$string = 'Fred, Bill,, Joe, Jimmy';
$string = reduce_multiples($string, ','); // results in "Fred, Bill, Joe, Jimmy"

Si el tercer parámetro se establece en verdadero, eliminará las apariciones del carácter al principio y al final de la cadena. Ejemplo:

<?php

$string = ',Fred, Bill,, Joe, Jimmy,';
$string = reduce_multiples($string, ', ', true); // results in "Fred, Bill, Joe, Jimmy"
quotes_to_entities($str)
Parámetros:
  • $cadena (string) – cadena de entrada

Devuelve:

Cadena con comillas convertidas a entidades HTML

Tipo del valor devuelto:

cadena

Convierte comillas simples y dobles en una cadena al HTML correspondiente entidades. Ejemplo:

<?php

$string = "Joe's \"dinner\"";
$string = quotes_to_entities($string); // results in "Joe's "dinner""
strip_quotes($str)
Parámetros:
  • $cadena (string) – cadena de entrada

Devuelve:

Cadena sin comillas

Tipo del valor devuelto:

cadena

Elimina comillas simples y dobles de una cadena. Ejemplo:

<?php

$string = "Joe's \"dinner\"";
$string = strip_quotes($string); // results in "Joes dinner"
word_limiter($str[, $limit = 100[, $end_char = '&#8230;']])
Parámetros:
  • $cadena (string) – cadena de entrada

  • $límite (int) – Límite

  • $end_char (string) – Carácter final (normalmente puntos suspensivos)

Devuelve:

cadena de palabras limitadas

Tipo del valor devuelto:

cadena

Trunca una cadena al número de palabras especificadas. Ejemplo:

<?php

$string = 'Here is a nice text string consisting of eleven words.';
$string = word_limiter($string, 4);
// Returns:  Here is a nice

El tercer parámetro es un sufijo opcional agregado a la cadena. Por De forma predeterminada, agrega puntos suspensivos.

character_limiter($str[, $n = 500[, $end_char = '&#8230;']])
Parámetros:
  • $cadena (string) – cadena de entrada

  • $n (int) – Número de caracteres

  • $end_char (string) – Carácter final (normalmente puntos suspensivos)

Devuelve:

cadena de caracteres limitados

Tipo del valor devuelto:

cadena

Trunca una cadena al número de caracteres especificado. Él mantiene la integridad de las palabras, por lo que el número de caracteres puede ser ligeramente más o menos de lo que especificas.

Ejemplo:

<?php

$string = 'Here is a nice text string consisting of eleven words.';
$string = character_limiter($string, 20);
// Returns:  Here is a nice text string

El tercer parámetro es un sufijo opcional agregado a la cadena, si no declarado, este ayudante utiliza puntos suspensivos.

Nota

If you need to truncate to an exact number of characters, please consulte la función ellipsize() a continuación.

ascii_to_entities($str)
Parámetros:
  • $cadena (string) – cadena de entrada

Devuelve:

Una cadena con valores ASCII convertidos en entidades

Tipo del valor devuelto:

cadena

Convierte valores ASCII en entidades de caracteres, incluidos ASCII alto y MS Caracteres de palabras que pueden causar problemas cuando se usan en una página web, por lo que se pueden mostrar consistentemente independientemente de la configuración del navegador o almacenarse confiablemente en una base de datos. Existe cierta dependencia de su servidor. conjuntos de caracteres admitidos, por lo que puede que no sea 100% confiable en todos los casos, pero en su mayor parte, debería identificar correctamente los personajes fuera el rango normal (como caracteres acentuados).

Ejemplo:

<?php

$string = ascii_to_entities($string);
entities_to_ascii($str[, $all = true])
Parámetros:
  • $cadena (string) – cadena de entrada

  • $all (bool) – si se deben convertir también entidades inseguras

Devuelve:

una cadena con entidades HTML convertidas a caracteres ASCII

Tipo del valor devuelto:

cadena

Esta función hace lo contrario de ascii_to_entities(). Convierte las entidades de caracteres nuevamente en ASCII.

convert_accented_characters($str)
Parámetros:
  • $cadena (string) – cadena de entrada

Devuelve:

Una cadena con caracteres acentuados convertidos

Tipo del valor devuelto:

cadena

Translitera caracteres ASCII altos a equivalentes ASCII bajos. Útil cuando es necesario utilizar caracteres no ingleses donde solo se utiliza ASCII estándar Los caracteres se utilizan de forma segura, por ejemplo, en las URL.

Ejemplo:

<?php

$string = convert_accented_characters($string);

Nota

This function uses a companion config file app/Config/ForeignCharacters.php para definir el destino y de matriz para transliteración.

word_censor($str, $censored[, $replacement = ''])
Parámetros:
  • $cadena (string) – cadena de entrada

  • $censurado (array) – Lista de malas palabras para censurar

  • $replacement (string) – Con qué reemplazar las malas palabras

Devuelve:

cadena censurada

Tipo del valor devuelto:

cadena

Le permite censurar palabras dentro de una cadena de texto. El primer parámetro contendrá la cadena original. El segundo contendrá una serie de palabras que no permites. El tercer parámetro (opcional) puede contener un valor de reemplazo para las palabras. Si no se especifica se reemplazan con signos de libra: ####.

Ejemplo:

<?php

$disallowed = ['darn', 'shucks', 'golly', 'phooey'];
$string     = word_censor($string, $disallowed, 'Beep!');
highlight_code($str)
Parámetros:
  • $cadena (string) – cadena de entrada

Devuelve:

Cadena con código resaltado mediante HTML

Tipo del valor devuelto:

cadena

Colorea una cadena de código (PHP, HTML, etc.). Ejemplo:

<?php

$string = highlight_code($string);

La función utiliza la función highlight_string() de PHP, por lo que Los colores utilizados son los especificados en su archivo php.ini.

highlight_phrase($str, $phrase[, $tag_open = '<mark>'[, $tag_close = '</mark>']])
Parámetros:
  • $cadena (string) – cadena de entrada

  • $frase (string) – Frase a resaltar

  • $tag_open (string) – etiqueta de apertura utilizada para resaltar

  • $tag_close (string) – etiqueta de cierre para el resaltado

Devuelve:

Cadena con una frase resaltada vía HTML

Tipo del valor devuelto:

cadena

Resaltará una frase dentro de una cadena de texto. El primer parámetro será contendrá la cadena original, la segunda contendrá la frase que deseas a más destacado. El tercer y cuarto parámetro contendrán el abrir/cerrar etiquetas HTML en las que desea incluir la frase.

Ejemplo:

<?php

$string = 'Here is a nice text string about nothing in particular.';
echo highlight_phrase($string, 'nice text', '<span style="color:#990000;">', '</span>');

El código anterior imprime:

Aquí hay una <span style="color:#990000;">bonita cadena de texto</span> sobre nada en particular.

Nota

This function used to use the <strong> tag by default. Older browsers Es posible que no admita la nueva etiqueta de marca HTML5, por lo que se recomienda que inserte el siguiente código CSS en su hoja de estilo si necesita soporte tales navegadores:

marca {
    fondo: #ff0;
    color: #000;
};
word_wrap($str[, $charlim = 76])
Parámetros:
  • $cadena (string) – cadena de entrada

  • $charlim (int) – límite de caracteres

Devuelve:

cadena envuelta en palabras

Tipo del valor devuelto:

cadena

Envuelve el texto en el recuento de caracteres especificado manteniendo palabras completas.

Ejemplo:

<?php

$string = 'Here is a simple string of text that will help us demonstrate this function.';
echo word_wrap($string, 25);
/*
 * Would produce:
 * Here is a simple string
 * of text that will help us
 * demonstrate this
 * function.
 *
 * Excessively long words will be split, but URLs will not be.
 */
ellipsize($str, $max_length[, $position = 1[, $ellipsis = '&hellip;']])
Parámetros:
  • $cadena (string) – cadena de entrada

  • $max_length (int) – límite de longitud de cadena

  • $position (Mixed) – Posición para dividir en (int o float)

  • $ellipsis (string) – Qué usar como carácter de puntos suspensivos

Devuelve:

cadena elíptica

Tipo del valor devuelto:

cadena

Esta función eliminará las etiquetas de una cadena, la dividirá en un punto definido longitud máxima e inserte puntos suspensivos.

El primer parámetro es la cadena a eliminar, el segundo es el número de caracteres en la cadena final. El tercer parámetro es en qué parte del cadena, los puntos suspensivos deben aparecer de 0 a 1, de izquierda a derecha. Para ejemplo. un valor de 1 colocará los puntos suspensivos a la derecha del cuerda, .5 en el medio y 0 a la izquierda.

Un cuarto parámetro opcional es el tipo de puntos suspensivos. Por defecto, …se insertará.

Ejemplo:

<?php

$str = 'this_string_is_entirely_too_long_and_might_break_my_design.jpg';
echo ellipsize($str, 32, .5);

Produce:

this_string_is_e…ak_my_design.jpg
excerpt($text, $phrase = false, $radius = 100, $ellipsis = '...')
Parámetros:
  • $text (string) – Texto para extraer un extracto

  • $phrase (string) – Frase o palabra para extraer el texto alrededor

  • $radius (int) – Número de caracteres antes y después de $frase

  • $ellipsis (string) – Qué usar como carácter de puntos suspensivos

Devuelve:

Extracto.

Tipo del valor devuelto:

cadena

Esta función extraerá $radius el número de caracteres antes y después del frase $ central con puntos suspensivos antes y después.

El primer parámetro es el texto del que extraer un extracto, el segundo es el palabra o frase central para contar antes y después. El tercer parámetro es el Número de caracteres a contar antes y después de la frase central. si no hay frase pasado, el extracto incluirá los primeros caracteres $radius con puntos suspensivos al final.

Ejemplo:

<?php

$text = 'Ut vel faucibus odio. Quisque quis congue libero. Etiam gravida
eros lorem, eget porttitor augue dignissim tincidunt. In eget risus eget
mauris faucibus molestie vitae ultricies odio. Vestibulum id ultricies diam.
Curabitur non mauris lectus. Phasellus eu sodales sem. Integer dictum purus
ac enim hendrerit gravida. Donec ac magna vel nunc tincidunt molestie sed
vitae nisl. Cras sed auctor mauris, non dictum tortor. Nulla vel scelerisque
arcu. Cras ac ipsum sit amet augue laoreet laoreet. Aenean a risus lacus.
Sed ut tortor diam.';

echo excerpt($text, 'Donec');

Produce:

... non mauris lectus. Phasellus eu sodales sem. Integer dictum purus ac
para hendrerit embarazada Hasta un empleado grande o ahora tinciduo pero
fanáticos de la vida Mañana, sin embargo, la curiosidad la tiene el autor, no el hablante. ...