folosind rânduri funcții circumcizia php, php

În acest articol ne vom uita la câteva moduri diferite în PHP trunchia un anumit număr de cuvinte și caractere. Cele mai multe dintre caracteristicile descrise în acest articol, este utilizat pentru a demonstra posibilitatea de manipulare șir PHP.







In toate exemplele noastre, vom folosi următoarea linie, și vom trece de la faptul că avem nevoie pentru a reduce numărul de caractere pe linie de la 187 la 120 de caractere (pentru Twitter).

Lorem ipsum velit inceptos posuere augue Amet sagittis augue sapiens vestra nulla non gravida AC HAC luctus imperdiet Pulvinar ligula HAC elit molestie vestibulului fusce porttitor lacinia.

În exemplul nostru, vom folosi, de asemenea, a doua linie de 55 de caractere, astfel încât să puteți verifica rezultatul a revenit pe un șir scurt.

mb_strimwidth ()

mb_strimwidth () returnează PHP bordurate de-a lungul lungimea șirului, și adaugă caracterul de terminare specificat în funcția. Din moment ce aceasta este una dintre principalele funcții ale PHP. aceasta va fi luată în considerare în primul rând. Ea se aplică foarte simplu:

Funcția consideră spațiu ca un simbol. Dar aceasta nu înseamnă că diferența va fi amplasat între ultimul simbol trunchiat și simbolul final al unei elipse. Puteți trunchia caracterul finit, și apoi adăugați-l separat. Uită-te la următorul exemplu:

Codul de mai sus se adaugă o elipsă nu contează dacă PHP trunchia la un simbol sau nu. Pentru a remedia acest lucru, vom calcula lungimea șirului de caractere, și doar apoi pentru a adăuga puncte, în cazul în care este necesar să se taie împrejur șirul inițial. De exemplu:

Când trimiterea de mesaje către Twitter și alte resurse, în cazul în care personajele sunt sensibile la caz, fiecare caracter are o valoare. și această funcție, în unele cazuri, va salva un spațiu!

mb_substr ()

Funcția PHP mb_substr () „devine o bucată de sfoară.“ Se returnează un subșir bazat pe numărul de caractere. Poziția Tunderea este numărat de la începutul liniei. Poziția primului caracter este 0. Poziția doilea caracter este 1, și așa mai departe.

Pentru a adăuga un punct (sau orice alt simbol al sfârșitului), putem schimba prima funcție, care este considerată. Am tăiat linia înainte de a adăuga $ trimmarker. pentru a ne asigura că nu vor fi adăugate la PHP trunchiată de la sfârșitul spațiu suplimentar.

mb_substr (), substr () și mb_strcut ()

mb_substr (). substr () și mb_strcut () - câteva caracteristici, similare cu cele pe care le-am descris mai sus. Ele diferă doar în modul în care să se ocupe de multi-octet seturi de caractere (chineză, etc).

Dacă porțiunea de ieșire bordurate PHP șir la cel mai apropiat cuvânt bazat pe numărul de caractere (fără punct final), utilizați următorul cod:

preg_match ()

Veți găsi mai rar cei care preferă să folosească expresii regulate atunci când există atât de multe funcții excelente PHP. Cu toate acestea, aici este o funcție care trunchiază șirul de la un anumit caracter în PHP. pe baza unui număr predeterminat de caractere de la început. Spre deosebire de alte funcții descrise mai sus, această funcție trunchiază șir un cuvânt întreg.

funcţia Descriere

Funcția are trei parametri: $ string. $ lungime si $ trimmarker (puncte sau alte simboluri care sunt adăugate la capătul liniei).







Primul lucru pe care îl facem este să verificați lungimea PHP trunchia după caracterul. Dacă șirul este mai scurt decât lungimea $. ne întoarcem șirul.

mb_substr () funcția se termină linia în lungime $. în cazul în care numărul de caractere nu conține sfârșitul cuvântului (martor). Dacă vom trece un șir mai lung de 500 de caractere, iar această linie nu conține spații, întregul șir este returnat (deoarece preg_match funcția nu a fost găsit la sfârșitul cuvântului). În acest moment, suntem taie într-o astfel de linie fel, și returnați-l complet.

Liniile 10, 11 și 12

În cazul în care linia noastră este mai lungă decât lungimea maximă definită ca o funcție a parametrului, vom efectua funcția regulată preg_match expresie (). pentru a aduce înapoi o bucată de sfoară la un simbol cu ​​lungimea numărul $. care este definit ca la sfârșitul unui cuvânt ( „/^.\b/s“). marca perioadă înseamnă orice caracter, cu excepția unui caracter newline (\ n). Brace determină intervalul care specifică modul în care numărul de caractere trebuie să taie de PHP în linie. Astfel, este de 1 până la $ lungime de caractere. În cele din urmă, \ b înseamnă că șablonul se va potrivi cu sfârșitul cuvântului. Putem căuta cuvinte întregi numai șablonul pe care le-am furnizat. Iar la sfârșitul \ e specifică căutarea pentru toate spațiile.

Din moment ce nu vrem să depășească lungimea lungimea șirului $ a revenit. numărul maxim de caractere în funcție de preg_match trebuie să fie egală cu lungimea maximă minus lungimea de $ trimmarke.r. Trebuie să luăm în considerare acest lucru.

Apoi ne întoarcem o linie sau sursa linie trunchiat, în cazul în care aceasta este mai mică decât o lungime predeterminată de trunchiere.

strrpos () funcția găsește poziția ultimei apariții a unui subșir într-un șir. Se întoarce poziția pe care subșirul dorit de la începutul liniei. Rețineți, de asemenea, că prima poziție în șirul este numărul 0 - în loc de 1. Prin urmare, considerăm că este în funcție, adăugând 1 la lungimea șirului în strrpos aplicației () funcția.

wordwrap ()

Utilizarea WordWrap () - Aceasta este o altă metodă prin care este posibil în PHP trunchia în spațiu, deși nu este foarte eficient și este cea mai bună alegere (cu excepția cazului în circumstanțe impun). WordWrap înfășoară șir într-un număr predeterminat de simboluri folosind un caracter pauză șir. Aplicarea funcției PHP exploda (). putem construi o serie de fiecare linie de text. Noi determina dacă trimmarker $ necesare (punct final) care solicită, în cazul în gol, a doua valoare de matrice. În cazul în gol, șirul nu se rotește în jurul valorii.

Definirea valorilor parametrilor adevărat tăiat înseamnă că șirul este întotdeauna se aprinde sau înainte ca simbol.

str-split ()

Funcția str-split () poate fi utilizată în funcțiile de mai sus pentru a converti șir într-o matrice. str-divizat () nu se rupe linia înainte de cuvântul întreg. Cu ajutorul PHP trunchia ultimul caracter într-o linie de exact 120 de caractere.

Trunchierea pentru un anumit număr de cuvinte

Mai jos este un exemplu de varianta de echipare PHP pe numărul de caractere, spații sau cuvinte. Acest lucru nu este prea diferit de ceea ce am făcut. Apoi, vom reduce matrice ajustate la un șir de caractere, a cărei valoare maximă este definită de limita de $. Noi adăugăm $ trimmarker (.). în cazul în care limita de $ este mai mic decât numărul de cuvinte din matrice.

aplicarea Împreună strtok () și wordwrap (), putem crea o funcție scurtă, dar eficientă, care va fi în PHP trunchia șir la lungimea dorită. Așa cum se arată mai jos, nu va fi luată în considerare atunci când trunchierea $ lungime + $ trimmarker. Dar este convenabil dacă nu vă pasă prea mult despre lungimea șirului returnat.

Cuvinte Tunderea în WordPress

Pentru a reveni cuvântul trunchiată este folosit în wp_trim_words WordPress. Această funcție este adesea utilizat în combinație cu wp_strip_all_tags pentru a curăța textul înainte de a fi procesat. Desigur, există și alte funcții care servesc aceluiași scop.

concluzie

Am putea scrie sute de exemple de linii de echipare PHP, dar odată ce ai nevoie pentru a opri. Funcțiile enumerate în acest articol fac parte din nucleul PHP. și le puteți folosi pentru a trunchia siruri de caractere. Deși cele mai multe dintre programatori încearcă să evite expresii regulate, în cazul în care nu există nici o alternativă, puteți apela la ajutorul lor.

În unele exemple, ne-am întors trimmarker $, care este o elipsă. Dacă este necesar, puteți returna HTML-obiect Ellipsis. utilizate pentru acest cod .... Dar, personal, prefer puncte.

exemple de descărcare

Descărcați exemplele din acest articol, vă rugăm să dați clic aici.

Traducerea articolului «Truncate (Scurtarea) coardele la cel mai apropiat Cuvântul întreg sau Character Count cu Trailing puncte folosind funcțiile PHP» a fost pregătit de o echipă de proiect prietenos Web design de la A la Z.