Es gibt eine Menge von Funktionen und Methoden auf die Art der Daten Kette (Zeichenfolge) in PHP. Normalerweise, Wenn wir wollen verkürzen o Stellen Sie eine Zeichenfolge, die eine bestimmte Anzahl von Zeichen, Wir verwenden die Funktion substr auf folgende Weise:
1 | $nuevaCadena = substr ( $cadena, 0, $longitud ) |
wo die Variable $Länge Es wird den Wert für die Größe der die resultierende Zeichenfolge haben, die wir erreichen wollen.
Stellen Sie sich nun, dass wollen, führen Sie die Anpassung oder Clipping eine Textzeichenfolge, die in verwenden wollen ein Web-Seite als Intro alle News, Artikel o ähnliche. Wenn wir die Funktion direkt verwenden substr Kette anpassen, Diese Funktion nicht gonna do Unterscheidung zwischen den Buchstaben, Wörter und/oder Räume in weiß, so dass das Ergebnis eine Zeichenfolge sein kann, wo das letzte Wort ist Schnitt.
Wir werden sehen, wie wir das lösen können, dabei, dass, Angesichts einer Zeichenfolge und einer Länge, Dies ist Anpassung bei dieser Größe, Berücksichtigung folgender Aspekte nicht muss Schneiden Sie Wörter. Dazu, setzen Sie sich in die folgende Funktion:
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; } |
Diese Funktion nimmt als Parameter ein Kette und die Länge auf Wunsch.
- Zuallererst, eliminiert Diese Zeichenfolge, die eine HTML-Tag Vielleicht habt ihr.
- Dann, Es erstellt eine Zeichenfolge mit der Länge der jeweiligen Größe.
- Dann, teilt den String in Worte, Erstellen einer Array Container von Ihnen, und sehen, ob am Ende der Kette befindet sich ein Raum in weiß. Wenn nicht, eliminiert der letzte Eintrag im array, Vermeidung von Damit die Schneiden Sie Wörter.
- Schließlich, erstellt eine Zeichenfolge mit den Worten des Arrays und die Rücksendungen.
Wir werden sehen, ein Beispiel. Wenn haben die folgende Kette von Zeichen und wendet die Funktion oben auf der gleichen:
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); |
die Ergebnis wird wie folgt festgesetzt:
1 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod… |
Wenn anstelle der Verwendung dieser Funktion, Wir verwendeten die Funktion substr, Das Ergebnis wäre anders gewesen:
1 | echo substr($cadena, 0, 75).'…'; |
1 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tem… |
Verlassen der letzte Wort Kette die Hälfte.
Wie Sie sehen können, Das letztere Ergebnis wäre nicht sehr gut, als intro, auf einer Webseite, Da wir schneiden Worte sind. Es stellt sich heraus am besten geeignet Das Ergebnis durch Aufrufen der Funktion trimString, die möglichen Kürzungen vermieden hat, durch den Wegfall von Wörtern, die Hälfte übrig sind.
"Ein Gedanke an"Wie passen Sie oder schneiden Sie eine Zeichenfolge von Text einer bestimmten Länge in PHP”
Danke, Verwenden Sie diese Option, um einen Fehler beim Erstellen von XML zu beheben.