PHP String funktsioonid Trim String. Lõika PHP string: Lihtsad viisid

Sait hõlmab oma lehekülgede piisavat muutust sõltuvalt seadmest, mida külastaja kasutab. Kui peaaegu kõik loobub "Automation" seoses plokkide ja väiketähtedega cSS-tööriistad Ja JavaScript, seejärel sisu moodustamisel ja andmebaaside kasutamisel ilma serveri pooleta, on raske teha.

Tavaliselt lõikab pHP-st stringi, kui html element Paigutus on piiratud arv tähemärkide arv, mis on nähtav, kuid see on privaatne ülesanne.

Traditsiooniline otsus

Üks populaarsemaid ja sagedamini kasutatavaid funktsioone on substr (). Sellele edastatakse kaks või kolm parameetrit:

  • lähteliin;
  • alguse asukoht ($ IPO);
  • lõikamise substringi pikkus ($ Ilen).

Viimase parameetri ei saa märkida. Kui määratakse kindlaks ainult kaks parameetrit: substrite () tulemus on substring lähtepositsiooni ($ IPO) allika rea \u200b\u200blõpuni. Kui edastati kolm parameetrit, seejärel lõigake PHP string Start asuvast asukohast ($ IPO) määratud pikkusele ($ Ilen).

Vali ainult stringi algus selle funktsiooni abil on võimalik, kui esimene parameeter on null. Kui esialgne positsioon on negatiivne, siis algus, millest me stringi lõigame, loendame PHP-l osa $ IPS-i positsioonil joone lõpust. Numeratsioon tähemärkide string viiakse läbi nullist.

Erifunktsioon

Ülesanne "lõigata rida" PHP kaalub (laiemas tähenduses) kontekstis: mõlemal poolel. Ajalooliselt see on trimmi () funktsioon, mis kavatseb eemaldada tähtsusetu tähemärki:

  • lüngad;
  • liini tõlked;
  • tagasi vedu;
  • tabelis;
  • nulli sümbolid

stringi mõlema otsaga. See on väga soovitud funktsioon, eriti andmebaasidega töötamisel, mis sisaldab sageli palju lünki. Kui kasutate plahvatuse () funktsiooni kasutamisel, sageli sageli ka mittevajalikud tähemärgid stringi algusest ja otsast.

Kuid mitte kõik arendajad kasutavad trimmi () funktsiooni täies jõus. Ülesande jaoks teeb "lõigatud string" PHP ettepaneku kasutada funktsiooni teist parameetrit, kus saate määrata kõik tähemärki, mis tuleks lähteliinilt kõrvaldada.

On oluline, et tähemärgid eemaldatakse ainult allika rea \u200b\u200balgusest ja lõpust. On oluline, et manipuleerides eemaldatavate tähemärkide maskid ja alamülesannete järjestus.

  • Esiteks lõikamine ühel maskil PHP-lt.
  • Siis teisele.
  • Siis kolmas.

Ühe funktsiooni rakenduste valikute järjestuse tulemusena lõigasime teksti PHP-le teksti, mis on vajalik ülesande lahendamiseks.

Mittestandardsed meetodid

Kui te ei pea kogu keele väiketähtede spektri, siis funktsioonide paari plahvatab () / implace () ja str_replace () funktsioon võimaldab teil lahendada mittestandardseid ülesandeid "lõikamine" väiketähti.

Tulemus päring MySQL See on alati sõnastatud väljastatud teabe struktuuris ja tulemuste tulemuste sisu (elemendid) sisu määrab alati allikas, st andmebaasi kujundatav arendaja.

See on privaatne näide, kuid täpselt vastates küsimusele: kuidas vähendada stringi PHP-s, kui on palju stringid. TRM () funktsioon on eriline ja selle ajalugu on määratletud ülesannetega, kui teave ei olnud nii palju, kuid vajadust lõigata midagi välja arvatud ebaolulised tähemärgid ei olnud vajalikud.

Täna informatsiooni ringleb suured mahud ja lõikereale mitte ainult ei ole vaja, vaid ka irratsionaalne.

Komponentide eraldamine on ka võimalus stringi kärpimiseks. PHP automaatselt plahvatuse järgi () vähendab ühte suurt teksti mitmesugustes soovitud ridadeks. Rakendades str_replace () funktsiooni - see tähendab, asendades ühe esinemise tähemärki teise - üks võib saavutada sarnast mõju.

Dünaamika ja töödeldava teabe dünaamika ja kogus on peamiselt piisav lahendus, mitte ühe erifunktsiooni kasutamine.

Saidi adaptiivne paigutus hõlmab selle lehekülgede piisavat muutust sõltuvalt seadmest, mida külastaja kasutab. Kui peaaegu kõik on mugav "Automaatika" CSS ja JavaScriptiga ploki ja väiketähtedega, siis sisu ja kasutamise andmebaaside ilma serveri poolel on raske teha.

Tavaliselt lõikab Rida PHP-l, kui HTML-i paigutuse elemendil on nähtavate tähemärkide arvu piirang, kuid see on privaatne ülesanne.

Traditsiooniline otsus

Üks populaarsemaid ja sagedamini kasutatavaid funktsioone on substr (). Sellele edastatakse kaks või kolm parameetrit:

    lähteliin; Alguse asukoht ($ IPO); Lõikamise substringi pikkus ($ Ilen).

Viimase parameetri ei saa märkida. Kui määratakse kindlaks ainult kaks parameetrit: substrite () tulemus on substring lähtepositsiooni ($ IPO) allika rea \u200b\u200blõpuni. Kui edastati kolm parameetrit, seejärel lõigake PHP string Start asuvast asukohast ($ IPO) määratud pikkusele ($ Ilen).

Vali ainult stringi algus selle funktsiooni abil on võimalik, kui esimene parameeter on null. Kui esialgne positsioon on negatiivne, siis algus, millest me stringi lõigame, loendame PHP-l osa $ IPS-i positsioonil joone lõpust. Numeratsioon tähemärkide string viiakse läbi nullist.

Erifunktsioon

Ülesanne "lõigata rida" PHP kaalub (laiemas tähenduses) kontekstis: mõlemal poolel. Ajalooliselt see on trimmi () funktsioon, mis kavatseb eemaldada tähtsusetu tähemärki:

    lüngad; Liini tõlked; Tagasi vedu; tabelis; Nulli sümbolid

stringi mõlema otsaga. See on väga soovitud funktsioon, eriti andmebaasidega töötamisel, mis sisaldab sageli palju lünki. Kui kasutate plahvatuse () funktsiooni kasutamisel, sageli sageli ka mittevajalikud tähemärgid stringi algusest ja otsast.

Kuid mitte kõik arendajad kasutavad trimmi () funktsiooni täies jõus. Ülesande jaoks teeb "lõigatud string" PHP ettepaneku kasutada funktsiooni teist parameetrit, kus saate määrata kõik tähemärki, mis tuleks lähteliinilt kõrvaldada.


On oluline, et tähemärgid eemaldatakse ainult allika rea \u200b\u200balgusest ja lõpust. On oluline, et manipuleerides eemaldatavate tähemärkide maskid ja alamülesannete järjestus.

    Esiteks lõikamine ühel maskil PHP-lt. Siis teisele. Siis kolmas.

Ühe funktsiooni rakenduste valikute järjestuse tulemusena lõigasime teksti PHP-le teksti, mis on vajalik ülesande lahendamiseks.

Mittestandardsed meetodid

Kui te ei pea kogu keele väiketähtede spektri, siis funktsioonide paari plahvatab () / implace () ja str_replace () funktsioon võimaldab teil lahendada mittestandardseid ülesandeid "lõikamine" väiketähti.


MySQL-i päringu tulemus sõnastatakse alati väljastatud teabe struktuuris ning tulemuste tulemuste sisu (elemendid) sisu määrab alati allikas, st andmebaasi kujundava arendaja.

See on privaatne näide, kuid täpselt vastates küsimusele: kuidas vähendada stringi PHP-s, kui on palju stringid. TRM () funktsioon on eriline ja selle ajalugu on määratletud ülesannetega, kui teave ei olnud nii palju, kuid vajadust lõigata midagi välja arvatud ebaolulised tähemärgid ei olnud vajalikud.

Täna informatsiooni ringleb suured mahud ja lõikereale mitte ainult ei ole vaja, vaid ka irratsionaalne.

Komponentide eraldamine on ka võimalus stringi kärpimiseks. PHP automaatselt plahvatuse järgi () vähendab ühte suurt teksti mitmesugustes soovitud ridadeks. Rakendades str_replace () funktsiooni - see tähendab, asendades ühe esinemise tähemärki teise - üks võib saavutada sarnast mõju.


Dünaamika ja töödeldava teabe dünaamika ja kogus on peamiselt piisav lahendus, mitte ühe erifunktsiooni kasutamine.

Online-nõustamine kohsaa hooldusprobleemide kohta Ulyanovskis: ICQ # 179104682

Kuidas lõigata kirillitsat pHP kasutamine.

Paigutuse kuupäev Artiklid: 01.06.2014

Loomine saidi Ulyanovsk tõsise funktsionaalsuse ja suhtlemise andmebaasidega väga sageli nõuab teatud string ületada teatud teatud maht. Seda võib vajalikuks, näiteks piirata andmebaasi serveri poolt edastatud märkide arvu sisendväljadNäita saidile lehele, ainult osa joone osa (näiteks loendis võrdsete uudiste teadete moodustamisel) ja paljude teiste ülesannete jaoks.

Esimene asi, mis käivituvad programmeerijad komistavad - PHP substri funktsioon. See on tõesti kasutatud stringide ja süntaksi lõikamiseks on lihtne. substrit.(String, Int algus [, Int pikkus]), kus int algas - algne sümbol, millest soovite alustada stringi lõikamist ja valikuline parameeter Int pikkus - märkide arv, mida soovite lõigata. Kuid kogenematu programmeerija puhul võib tunduda kummaline, kui ta püüab seda kasutada PHP trimmimisrõngaste puhul külgerilliikmega. Selle tulemusena töö substrükk koos küünilise stringi lõpus kärbitud rida, küsimärk võib ilmuda või küsimärk rombilises ja mingil põhjusel, koguarv lõigatud tähemärki on kaks korda nii vähe sellest, mida täpsustati int pikkuse parameetris. Miks see toimub?

Punktis, et venekeelsed tähemärgid UTF-8-s on suurus 2 baiti ja ladina tähemärki on ainult 1 bait. PHP Substri funktsioon lõikab rida baitide ja mitte sümbolitega. Kui string koosneb ladina tähemärkidest, siis midagi kummaline tekib, kuna tähemärkide arv langeb kokku baitide arvuga. Ja kui töötate koos kirillitsaga, kus iga märk võtab 2 baiti, võib int pikkuse parameeter kergesti saada tähemärgi "keskele" ja selle tulemusena, lõigatud joone lõpus näeme, et see haige -Fated küsimuse kaubamärk rombilises.

Kuidas lõigata osa rida kirillitsaga?

Selle probleemi lahendus on tegelikult väga lihtne. Õige PHP trimmimisringid, mis sisaldavad kirillitsatisi, mida peate PHP-funktsiooni kasutama ICONV_SUBSTR

Süntaksi funktsioon on lihtne:

iCONV_SUBSTR (string, int algus [, Int pikkus [, charset]])

Näide venekeelse stringi lõikamiseks kuni 80 tähemärgini UTF-8 kodeerimisega ICONV_SUBSTR abil:

$ New_String \u003d Iconv_substr ($ string, 0, 80, "UTF-8");

Nulli number näites tähendab, et 80 tähemärgi loenduse algab stringi algusest.

Ülesanne substrit. ($ String, $ start, $ pikkus), kus $ string on muutuja tekstiga, $ Start on iseloomu, millest loendamine algab (esimese märgi 0) ja $ pikkus on valitud teksti tähemärkide arv .

$ Text \u003d "Näide ja tekst";

$ First \u003d substr ($ tekst, 0,6); // näitab 6 tähemärki alates 0. \\ t
Echo $ esimene; // Kas "näide".

$ teine \u200b\u200b\u003d substr ($ tekst, 8.3); // näitab 3 tähemärki alates kaheksast
Echo $ teine; // läheb välja "ja"
Kui te ei täpsusta tähemärkide parameetrit (2-kohaline), siis funktsioon toob välja kõik ülejäänud tähemärgid.

$ Text \u003d "Näide ja tekst";

$ kolmas \u003d substr ($ tekst, 8); // näitab kõiki märke alates 8. \\ T
Echo $ kolmas; // tahe välja "ja teksti"

Lõika vene teksti kasutades MB_Substr PHP funktsiooni

Ülesanne mB_SUBSTR. teostab samad ülesanded substrit.Kuid ka võimeline käitlema multiByte'i kodeeringuid. Seetõttu on vene teksti puhul kasulik. mB_SUBSTR.. See toimib sama

$ Text \u003d "Teksti näide";

$ FIRST \u003d MB_SUBSTR ($ tekst, 0,6, "UTF-8"); // näitab 6 tähemärki alates 0. \\ t
// Tähelepanu! Määrake lähtekoodi kodeerimine! Sisse sel juhul UTF-8.
Echo $ esimene; // tühistatud näide "

$ teine \u200b\u200b\u003d MB_SUBSTR ($ tekst, 7.6 "UTF-8"); // näitab 6 tähemärki alates 7. seitsmendast
Echo $ teine; // tagasi "teksti"
Pange tähele, et kirillitsa puhul (vene tekst) on parem täpsustada kodeeringu funktsiooni lõpus. Näites kasutatakse kõige populaarsemat valikut - UTF-8

Lõika teksti lõpust

Kui soovite teksti lõpuni lõigata, täpsustage selle muutmise negatiivne number, mis tähistab sümbolit teksti käivitamist.

$ Text \u003d "Spriit ja Fanta";

$ First \u003d substr ($ tekst, -6,5); // näitab 5 tähemärki alates 6. lõpust
Echo $ esimene; // Kas "Fantass"

Pärast lõikamist lõpetan ka teksti

Pärast muutujat teksti lõikamist lisage täiendava teksti

$ näide \u003d "Tekst Tekst Tekst";

$ Näide \u003d substr ($ näide, 0,9); // näitab 9 tähemärki alates 0. \\ t
$ näide. \u003d "Veel ...";
ECHO $ \u200b\u200bnäide; // Will out "Tekst Tekst Rohkem ..."
Võite vastupidi, et salvestada alguses ja seejärel pragunenud teksti

$ Text \u003d "Onu";

$ näide \u003d "George ja Michael";
$ Näide \u003d substr ($ näide, 0,6); // näitab 6 tähemärki alates 0. \\ t
$ Tekst. \u003d $ näide;
ECHO $ \u200b\u200btekst; // Kas "onu George"

Teksti lõikamine esimesele tühjale

$ Text \u003d "Tere World!";
ECHO substr ($ tekst, 0, strPOS ($ tekst, ")); // Kas "Tere"

Lõpetanud PHP teksti kärpimise sõna vastavalt PHP-le

Funktsiooni lõigatud ($ string, $ pikkus) (
$ String \u003d MB_substr ($ string, 0, $ pikkus, "UTF-8"); // lõigata ja töötada kõikide kodeeringutega ja märkige kodeering allikas
$ seisukoht \u003d MB_STRRPOS ($ string "," "," UTF-8 "); // viimase ruumi asukoha määratlus. See on tema ja jagada sõnu
$ String \u003d MB_substr ($ string, 0, $ positsioon, "UTF-8"); // lõigake muutuja asendisse
Tagasi $ string;
}

$ Text \u003d "Põhja sõda lõppes 1721. aastal";
ECHO lõigatud ($ tekst, 17); // tagasi "Põhja-sõda", ilma osa sõna "lõpetas"

Saate trimmi vastavalt sõnad läbi massiivi ...

$ Text \u003d "Microsoft asutas Bill Gates tagasi 1975. aastal.";

$ Array \u003d plahvatada ("", $ tekst); // Rühma ringlussevõtt massiivi
$ array \u003d array_slice ($ massiiv, 0,5); // Valige esimese 5 sõna elemendid
$ Newtext \u003d Impode ("", $ massiiv); // massiiv recycle uuesti stringis

Echo $ Newtext; // Kehtetu "Microsoft asutati Bill Gates"