वहाँ की एक बहुत कुछ कर रहे हैं फ़ंक्शंस और विधियों sobre el tipo de datos चेन (स्ट्रिंग) में PHP. सामान्य रूप से, cuando queremos acortar ओ 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 वेब पेज के रूप में entradilla किसी भी noticia, आलेख ओ इसी तरह. 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é cortada.
चलो देखते हैं कैसे हम इस को हल कर सकते हैं, कर रही है कि, 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 पैरामीटर्स एक चेन और लंबाई वांछित.
- सबसे पहले, elimina 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. नहीं तो, elimina 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.
"एक पर सोचा"कैसे समायोजित करें या PHP में एक निश्चित अवधि के लिए पाठ की एक स्ट्रिंग ट्रिम कर दीजिए”
धन्यवाद, lo use para corregir un error al crear unos xml.