Como se observa en el fragmento muy corto: corte PHP palabra es más agradable para romper un texto que "las palabras", ya que evita cortar una palabra. Todavía hay contar a aquellos que prefieren cortar los personajes, ya que hace que los "cortes" más homogéneas y similares entre sí, a pesar del riesgo significativo de corte de una palabra, rompió la red! Además también se debe considerar que, con la excepción de casos especiales, las fuentes no son proporcionales y por lo tanto la palabra "www" puede ocupar un espacio horizontal en píxeles de "Wii".
Del mismo modo, cuando hay palabras que usted puede encontrarse con situaciones paraddosali, la generación de las aparentes diferencias entre los textos que se rompen sìvoglione. Por ejemplo, la frase "cara a cara" contiene cuatro palabras, como "Washington, la Casa Blanca." Sin embargo, es claro que la última frase es visiblemente más "largo", en píxeles.
Una posible solución al problema es una función híbrida, a continuación, teniendo en cuenta tanto la duración de los personajes, tanto el "corte" al final de la palabra:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | / ** * Corta una cuerda a la caja caracteres palabras * En esta versión no son "contados" los espacios * Elimine el comentario de la línea si desea un corte * Carácter exacto * * @ Autor = = deshacer * @ Fecha 11/09/2009 * * @ Param (string) $ cadena para corte de c * @ Param (int) $ el número máximo de caracteres * @ Param (string) $ y cadena para colgar, por defecto "[...]" * @ Return * / $c , $l , $e = "[...]" ) { word_cut_for_chars función ($ c, $ s, $ e = {"[...]") strlen ( $c ) > $l ) { if ( strlen ($ c)> $ l) { explode ( ' ' , $c ) ; $ A = explotar ('', $ c); 0 ; $ S = 0; "" ; R $ = ""; $i = 0 ; $i < count ( $a ) ; $i ++ ) { for ($ i = 0; $ i < conteo ($ a) $ i + +) { strlen ( $a [ $i ] ) ; $ S + = strlen ($ a [$ i]); / / $ S + = (strlen ($ a [$ i]) + 1) / / también tiene "espacio" $s > $l ) return ( $r . $e ) ; if ($ s> $ l) return ($ r. $ s); $a [ $i ] . " " ; R $ .= $ a [$ i] '". } } ; return $ c; } |










Pequeño error en el título de "Cash"

Semra útiles tus mensajes!
@ Raben: Eso es lo que ocurre en las primeras horas
Gracias
Hola voy a utilizar esta solución desde hace algún tiempo:
2
3
4
5
6
7
8
9
strip_tags ( $text ) ; //Elimino eventuali tag HTML $ Texto = strip_tags ($ texto); / / Eliminar las etiquetas HTML
strlen ( $text ) <= ( int ) $len ) { if ( strlen ($ texto) <= (int) $ longitud) {
; return $ texto;
{ Else {}
wordwrap ( $text , ( int ) $len , "___end___" ) ; $ Texto = ajuste de línea ($ texto, (int) $ len ", ___end___");
( $text , 0 , - strlen ( stristr ( $text , "___end___" ) ) ) . $textContinue ; volver substr ($ texto, 0, - strlen ( stristr ($ texto, "___end___ "))). textContinue $;
}
}
Se debe medir el tiempo empleado por ambos (tal vez con cadenas largas) y entiendo que es la mejor solución.
: @ Santino Bivacqua: interesante ... todo me pareció una variante que utiliza
explode(), en la práctica, en lugar de sustristr():2
3
4
5
6
7
8
9
10
11
strlen ( $text ) > $limit ) { if ( strlen ($ texto)> $ limite) {
wordwrap ( $text , $limit , '[cut]' ) ; $ Txt1 = ajuste de línea ($ texto, $ limit ", [corte]");
explode ( '[cut]' , $txt1 ) ; $ Txt2 = explotar ('[corte], $ txt1);
$txt2 [ 0 ] ; $ $ Txt2 ourTxt = [0];
$ourTxt . $msg ; $ = $ $ OurTxt FinalTxt mensajes.;
{ Else {}
$text ; FinalTxt texto $ = $;
}
; return $ finalTxt;
}
@ Giovambattista Fazioli:

De hecho, el principio de funcionamiento es muy similar
Ahora hay tres soluciones para tratar de verificar (en textos) como el más rápido