
多い 関数 と メソッド sobre el tipo de datos チェーン (文字列) で PHP. 通常, cuando queremos acortar o ajustar una cadena a un determinado número de caracteres, usamos la función substr 次の方法で:
1 | $nuevaCadena = substr ( $cadena, 0, $longitud ) |
donde la variable $長さ tendrá el valor del tamaño de cadena resultante que queremos conseguir.
Imagina ahora que queremos realizar el ajuste o recorte de una cadena de texto que vamos a usar en una web ページ として entradilla いずれかの noticia, 記事 o 似たような. Si usamos directamente la función substr sobre la cadena a ajustar, esta función ない va a hacer 区別 entre letras, 単語や空白スペース, por lo que el resultado puede ser una cadena donde la última palabra esté カット.
我々 はこの問題を解決することができますどのように見てみましょう, それをやってください。, dada una cadena y una longitud, ésta se ajuste a dicho tamaño, teniendo en cuenta que no debe cortar palabras. これを行うに, 次の関数で自分で設定します。:
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 29 30 31 | <?php function trimString ( $cadena, $longitud = 128 ) { //Eliminamos las etiquetas HTML $cadena = trim ( strip_tags ( $cadena ) ); if ( strlen ( $cadena ) > $longitud ) { //Acortamos la cadena a la longitud dada $cadena = substr ( $cadena, 0, $longitud + 1 ); //Expresión regular de espacio en blanco $regExp = "/[\s]| /"; //Dividimos la cadena en palabras y la guardamos en un array $palabras = preg_split ( $regExp, $cadena, -1, PREG_SPLIT_NO_EMPTY ); //Buscamos la expresión regular al final de la cadena preg_match ( $regExp, $cadena, $ultimo, 0, $longitud ); if ( empty ( $ultimo ) ) { //Si la última palabra no estaba seguida por un espacio en blanco, //la eliminamos del conjunto de palabras array_pop ( $palabras ); } //Creamos la cadena resultante por la unión del conjunto de palabras $cadena = implode ( ' ', $palabras ) . '…'; } return $cadena; } |
Esta función toma como パラメーター 、 チェーン と、 長さ 希望.
- 最初です, 排除します。 de dicha cadena cualquier HTML タグ que pueda tener.
- その後、, crea una cadena con la longitud del tamaño dado.
- その後、, 文字列を単語に分割します。, creando un 配列 contenedor de ellas, y mira si al final de la cadena existe un espacio en blanco. そうでない場合, 排除します。 la última entrada del array, 回避します。 así las palabras cortadas.
- 最後に, crea una cadena con las palabras del array y la 返します.
Vamos a ver un 例. 場合文字の次のチェインと同じ上にある関数を適用:
1 2 3 4 5 6 7 8 9 10 | <?php $cadena = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor '. 'incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis '. 'nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. '. 'Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore '. 'eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, '. 'sunt in culpa qui officia deserunt mollit anim id est laborum.'; echo trimString($cadena, 75); |
、 結果 será el siguiente:
1 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod… |
場合は、この関数を使用する代わりに, hubiéramos usado la función substr, 結果は違っていただろう:
1 | echo substr($cadena, 0, 75).'…'; |
1 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tem… |
dejando la última palabra de la cadena a medias.
あなたが見ることができます。, este último resultado no quedaría muy bien, como entradilla, en una página web, ya que estamos cortando palabras. Resulta más idóneo el resultado obtenido al llamar a la función trimString, la cual ha evitado los posibles cortes eliminando aquellas palabras que se quedan a medias.

「1 つの思想」どのように調整するかを PHP で一定の長さの文字列をトリム”
ありがとう, lo use para corregir un error al crear unos xml.