Estoy buscando una forma de limitar una cadena en php y agregar ... al final si la cadena es demasiado larga.Longitud de cadena de límite
Respuesta
Puede usar algo similar a la de abajo:
if (strlen($str) > 10)
$str = substr($str, 0, 7) . '...';
Supongo que no creía que se estuviera salteando las tareas de lectura de su tarea. – dlamblin
Lo siento, no, no lo consideré. ¿Cuáles son las reglas para la tarea? Oh, espera, me acabo de dar cuenta, mi código ni siquiera funciona correctamente;) – bramp
Es solo una regla comunitaria: http://meta.stackexchange.com/questions/10811/how-to-ask-and-withwer -homework-questions – dlamblin
You might want to take a look at this answer si no desea dividir palabras.
Si no te importa dividir palabras, simplemente usa php substr function.
Haga un poco de tarea con el php online manual's string functions. Usted querrá utilizar strlen
en un entorno comparación, substr
cortarlo si es necesario, y el operador de concatenación con "..."
o "…"
para truncar una cadena proporcionada por el límite máximo sin que se rompa una palabra use esto:
/**
* truncate a string provided by the maximum limit without breaking a word
* @param string $str
* @param integer $maxlen
* @return string
*/
public static function truncateStringWords($str, $maxlen)
{
if (strlen($str) <= $maxlen) return $str;
$newstr = substr($str, 0, $maxlen);
if (substr($newstr, -1, 1) != ' ') $newstr = substr($newstr, 0, strrpos($newstr, " "));
return $newstr;
}
de PHP 4.0.6 , Hay una función de exactamente lo mismo que
función mb _ strimwidth se puede utilizar para su requerimiento
<?php
echo mb_strimwidth("Hello World", 0, 10, "-yahooo!-");
//Hello W-yahooo!-
?>
Se tiene más opciones, sin embargo, aquí está la documentación de este mb_strimwidth
La función wordwrap() también puede ser útil: http://www.w3schools.com/php/func_string_wordwrap.asp –
Pero, personalmente, prefiero usar: $ s = preg_replace ('/ \ s +? (\ S +)? $/',' ', substr ($ s, $ START, $ LIMIT)); –
@CyrilJacquart es mejor evitar el uso de expresiones regulares donde sea que no sea necesario. –
De otra manera para limitar una cadena en php y agregar texto readmore o como '...' usando el siguiente código
if (strlen(preg_replace('#^https?://#', '', $string)) > 30) {
echo substr(preg_replace('#^https?://#', '', $string), 0, 35).'…';
}
En laravel, hay una cadena util función para esto, y se implementa de esta manera:
public static function limit($value, $limit = 100, $end = '...')
{
if (mb_strwidth($value, 'UTF-8') <= $limit) {
return $value;
}
return rtrim(mb_strimwidth($value, 0, $limit, '', 'UTF-8')).$end;
}
valor $ = str_limit; (, 7 'Esta cadena es muy, muy larga.')
// Este st ...
- 1. perlre límite de longitud
- 2. Formulario multiparte HTML: ¿longitud máxima de la cadena "límite"?
- 3. C# string tienen un límite de longitud
- 4. Límite de longitud de línea de origen
- 5. ¿Cuál es el límite de longitud de cadena del filtro LDAP en Active Directory?
- 6. Límite de longitud de clave primaria de PostgreSQL
- 7. Límite de longitud variable de caracteres de PostgreSQL
- 8. ¿Existe un límite de longitud de encabezado HTTP práctico?
- 9. Longitud de límite de la matriz en PHP
- 10. C longitud de cadena dinámica
- 11. Haskell y cadena de longitud
- 12. Cómo obtener longitud de cadena
- 13. Longitud de la cadena cifrada
- 14. Longitud de cadena evaluando incorrectamente
- 15. Longitud de la cadena sin usar el método de longitud()
- 16. Google Static Maps longitud de la URL límite
- 17. cómo aumentar Apache 2 uri límite de longitud
- 18. longitud Límite de longtext campo en seleccionar los resultados
- 19. Seguimiento de eventos de Google Analytics: longitud máxima de cadena
- 20. Búsqueda de std :: cadena entre un límite
- 21. Cadena de texto de límite PHP ¿NO incluye etiquetas html?
- 22. Hash de una cadena de longitud específica
- 23. ¿Cuál es la longitud máxima de una cadena en PHP?
- 24. Comprobar longitud de cadena En PHP
- 25. C# Cadena de creación (longitud especificada)
- 26. División de cadena por longitud fija
- 27. determinar la longitud de una cadena literal
- 28. Python: binascii.a2b_hex da "Cadena de longitud impar"
- 29. Longitud de una cadena en píxeles
- 30. longitud de cadena entre los punteros
que podrían encontrar [ 's ($ str) -> truncado ($ longitud)'] (https://github.com/delight-im/PHP-Str/ blob/8fd0c608d5496d43adaa899642c1cce047e076dc/src/Str.php # L233) o incluso ['s ($ str) -> truncateSafely ($ length)'] (https://github.com/delight-im/PHP-Str/blob/8fd0c608d5496d43adaa899642c1cce047e076dc /src/Str.php#L246) útil, como se encuentra en [esta biblioteca independiente] (https://github.com/delight-im/PHP-Str). – caw