PHP virknes funkcijas sagrieziet virkni. Izgrieziet PHP virkni: vienkāršus veidus

Vietne ietver atbilstošas \u200b\u200bizmaiņas savā lapā atkarībā no ierīces, ko apmeklētājs izmanto. Ja gandrīz viss atdod "automatizāciju" attiecībā uz bloku un mazajiem elementiem cSS rīki Un JavaScript, tad, veidojot saturu un izmantojot datu bāzes bez servera puses, ir grūti izdarīt.

Parasti sagriež virkni PHP, kad hTML elements Izkārtojums ir ierobežots skaits rakstzīmju, kas ir redzami, bet tas ir privāts uzdevums.

Tradicionāls risinājums

Viena no populārākajām un biežāk izmantotajām funkcijām ir Substr (). Divi vai trīs parametri tiek nosūtīti uz to:

  • avota līnija;
  • sākuma pozīcija ($ IPO);
  • izgrieztās apakšējās daļas garums ($ Ilen).

Pēdējo parametru nevar norādīt. Ja ir norādīti tikai divi parametri: Substras rezultāts () būs substring, sākot no sākuma pozīcijas ($ ipos) līdz avota līnijas beigām. Ja trīs parametri tika pārraidīti, pēc tam samazināt PHP virtu no sākuma pozīcijas ($ IPO) uz norādīto garumu ($ Ilen).

Izvēlieties tikai virknes sākumu, izmantojot šo funkciju, ir iespējama, kad pirmais parametrs ir nulle. Ja sākotnējā pozīcija ir negatīva, tad sākums, no kura mēs sagriežam virkni, PHP saskaitīs rakstzīmi $ IPOS pozīcijā no līnijas beigām. Rakstzīmju numerācija virknē tiek veikta no nulles.

Īpaša funkcija

Uzdevums "samazināt līniju" PHP uzskata (plašā nozīmē) kontekstā: abās pusēs. Vēsturiski tas ir apdares () funkcija, kas plāno noņemt nenozīmīgas rakstzīmes:

  • nepilnības;
  • līnijas tulkojumi;
  • atgriešanās pārvadāšana;
  • tabulā;
  • nulles simboli

ar abiem virknes galiem. Tas ir ļoti pieprasīts pēc funkcijas, jo īpaši, strādājot ar datu bāzēm, kuru paraugs bieži satur daudzas nepilnības. Izmantojot eksplodēt () funkciju, bieži tiek iegūti arī nevajadzīgas rakstzīmes no virknes sākuma un beigām.

Tomēr ne visi izstrādātāji izmanto trim () funkciju pilnā spēkā. Uzdevumu "Cut virkni" PHP piedāvā izmantot otro parametru funkciju, kur jūs varat norādīt jebkuru rakstzīmju kopu, kas būtu jānovērš no avota līnijas.

Ir svarīgi, ka rakstzīmes tiek noņemtas tikai no avota līnijas sākuma un no beigām. Ir svarīgi, lai noņemamo rakstzīmju maskas un apakšuzdevēju secību manipulēšana.

  • Pirmā virkne PHP uz vienas maskas.
  • Tad uz otru.
  • Tad trešais.

Kā rezultātā secību lietojumprogrammu opciju vienai funkcijai, mēs samazināt tekstu uz PHP, kā nepieciešams, lai atrisinātu uzdevumu.

Nestandarta metodes

Ja jūs neuzskatīsiet visu valodu mazo funkciju spektru, tad funkciju pāris eksplodēt () / implode () un str_replace () funkcija ļauj atrisināt nestandarta uzdevumus "samazināt" mazo burtu informāciju.

Rezultāts vaicājums MySQL Tas vienmēr ir formulēts struktūrā izsniegto informāciju, un rezultātu (elementu) saturu vienmēr nosaka avots, tas ir, attīstītājs, kas paredzēts datu bāzē.

Tas ir privāts piemērs, bet tieši atbildot uz jautājumu: kā samazināt virkni PHP, kad ir daudz virknes. TRM () funkcija ir īpaši, un tās vēsture ir definēta ar uzdevumiem, kad informācija nebija tik daudz, bet nepieciešamību samazināt kaut ko, izņemot nenozīmīgas rakstzīmes nebija nepieciešams.

Šodien informācija cirkulē lielus apjomus un griešanas līniju ne tikai nav nepieciešama, bet arī neracionāla.

Atdalīšana uz komponentiem ir arī iespēja, kā sagriezt virkni. PHP automātiski atbilstoši eksplodēt () samazinās vienu lielu tekstu dažādos rindās. Str_replace () funkcija - tas ir, aizstājot vienu rakstzīmju rašanos uz citu - var sasniegt līdzīgu efektu.

Dinamika un informācijas apjoms, kas jāapstrādā galvenokārt ir piemērots risinājums, nevis vienas īpašas funkcijas izmantošana.

Vietnes adaptīvā izkārtojums ietver atbilstošas \u200b\u200bizmaiņas savā lapā atkarībā no ierīces, ko apmeklētājs izmanto. Ja gandrīz viss ir pakļauts "automatizācijai" ar CSS un JavaScript uz bloku un mazajiem elementiem, tad satura veidošanā un datu bāzēs bez servera puses ir grūti izdarīt.

Parasti griežas rindā uz PHP, kad HTML izkārtojuma elementam ir ierobežots redzamo rakstzīmju skaits, bet tas ir privāts uzdevums.

Tradicionāls risinājums

Viena no populārākajām un biežāk izmantotajām funkcijām ir Substr (). Divi vai trīs parametri tiek nosūtīti uz to:

    avota līnija; Sākuma pozīcija ($ IPO); Izgrieztās apakšējās daļas garums ($ Ilen).

Pēdējo parametru nevar norādīt. Ja ir norādīti tikai divi parametri: Substras rezultāts () būs substring, sākot no sākuma pozīcijas ($ ipos) līdz avota līnijas beigām. Ja trīs parametri tika pārraidīti, pēc tam samazināt PHP virtu no sākuma pozīcijas ($ IPO) uz norādīto garumu ($ Ilen).

Izvēlieties tikai virknes sākumu, izmantojot šo funkciju, ir iespējama, kad pirmais parametrs ir nulle. Ja sākotnējā pozīcija ir negatīva, tad sākums, no kura mēs sagriežam virkni, PHP saskaitīs rakstzīmi $ IPOS pozīcijā no līnijas beigām. Rakstzīmju numerācija virknē tiek veikta no nulles.

Īpaša funkcija

Uzdevums "samazināt līniju" PHP uzskata (plašā nozīmē) kontekstā: abās pusēs. Vēsturiski tas ir apdares () funkcija, kas plāno noņemt nenozīmīgas rakstzīmes:

    nepilnības; Līnijas tulkojumi; Atgriešanās pārvadāšana; tabulā; Nulles simboli

ar abiem virknes galiem. Tas ir ļoti pieprasīts pēc funkcijas, jo īpaši, strādājot ar datu bāzēm, kuru paraugs bieži satur daudzas nepilnības. Izmantojot eksplodēt () funkciju, bieži tiek iegūti arī nevajadzīgas rakstzīmes no virknes sākuma un beigām.

Tomēr ne visi izstrādātāji izmanto trim () funkciju pilnā spēkā. Uzdevumu "Cut virkni" PHP piedāvā izmantot otro parametru funkciju, kur jūs varat norādīt jebkuru rakstzīmju kopu, kas būtu jānovērš no avota līnijas.


Ir svarīgi, ka rakstzīmes tiek noņemtas tikai no avota līnijas sākuma un no beigām. Ir svarīgi, lai noņemamo rakstzīmju maskas un apakšuzdevēju secību manipulēšana.

    Pirmā virkne PHP uz vienas maskas. Tad uz otru. Tad trešais.

Kā rezultātā secību lietojumprogrammu opciju vienai funkcijai, mēs samazināt tekstu uz PHP, kā nepieciešams, lai atrisinātu uzdevumu.

Nestandarta metodes

Ja jūs neuzskatīsiet visu valodu mazo funkciju spektru, tad funkciju pāris eksplodēt () / implode () un str_replace () funkcija ļauj atrisināt nestandarta uzdevumus "samazināt" mazo burtu informāciju.


MySQL vaicājuma rezultāts vienmēr ir formulēts izsniegtās informācijas struktūrā, un rezultātu rezultātu (elementu) saturu vienmēr nosaka avots, tas ir, izstrādātājs, kurš izstrādāja datubāzi.

Tas ir privāts piemērs, bet tieši atbildot uz jautājumu: kā samazināt virkni PHP, kad ir daudz virknes. TRM () funkcija ir īpaši, un tās vēsture ir definēta ar uzdevumiem, kad informācija nebija tik daudz, bet nepieciešamību samazināt kaut ko, izņemot nenozīmīgas rakstzīmes nebija nepieciešams.

Šodien informācija cirkulē lielus apjomus un griešanas līniju ne tikai nav nepieciešama, bet arī neracionāla.

Atdalīšana uz komponentiem ir arī iespēja, kā sagriezt virkni. PHP automātiski atbilstoši eksplodēt () samazinās vienu lielu tekstu dažādos rindās. Str_replace () funkcija - tas ir, aizstājot vienu rakstzīmju rašanos uz citu - var sasniegt līdzīgu efektu.


Dinamika un informācijas apjoms, kas jāapstrādā galvenokārt ir piemērots risinājums, nevis vienas īpašas funkcijas izmantošana.

Tiešsaistes konsultācijas par vietnes uzturēšanas jautājumiem Ulyanovskā: ICQ # 179104682

Kā samazināt kirilicu virkni ar izmantojot PHP.

Izvietojuma datums Raksti: 01.06.2014

Vietas izveidošana Ulyanovskā ar nopietnu funkcionalitāti un mijiedarbību ar datu bāzēm ir nepieciešama noteikta virkne, lai pārsniegtu noteiktu tilpumu. Tas var būt nepieciešams, piemēram, lai ierobežotu datu bāzes servera nosūtīto rakstzīmju skaitu, izmantojot ievades lauki, Lai parādītu lapas lapā, tikai daļa no līnijas (piemēram, veidojot vienādus ziņu paziņojumus sarakstā) un daudziem citiem uzdevumiem.

Pirmā lieta, kas start-up programmētāji ir stumbled - PHP Substr funkcija. Tas patiešām tiek izmantots, lai sagrieztu virknes un sintaksi, tas ir viegli. substr.(String, int start [, int garums]), kur int start - sākotnējais simbols, no kura jūs vēlaties sākt griezt virkni, un papildu parametru int garums - skaits rakstzīmju vēlaties samazināt. Tomēr nepieredzējušiem programmētājam var šķist dīvaini, ja viņš mēģina to izmantot PHP apgriešanas virknes ar kirilicu. Substras darba rezultātā apgrieztās līnijas beigās var parādīties jautājuma zīme vai jautājuma zīme rombiskajā daļā, un kāda iemesla dēļ kopējais griezumu rakstzīmju skaits ir divreiz mazāks par to, ko tika norādīts INT garuma parametrā. Kāpēc tas notiek?

Punkts, kurā krievvalodīgo rakstzīmju UTF-8 ir 2 baitu lielums, un latīņu burtiem ir tikai 1 baits. PHP Substr funkcija samazina līniju ar baitiem, nevis simboliem. Ja virkne sastāv no latīņu burtiem, tad nekas dīvaini notiek, jo rakstzīmju skaits sakrīt ar baitu skaitu. Un strādājot ar kirilicu, kur katrs raksturs aizņem 2 baitus, int garuma parametrs viegli var nokļūt rakstzīmju "vidū", kā rezultātā griezuma līnijas beigās, mēs redzēsim šo slimību -Fēta jautājuma zīme rombā.

Kā samazināt daļu no rindas ar kirilicu?

Šīs problēmas risinājums ir ļoti vienkāršs. Pareiziem PHP apgriešanas virknēm, kas satur kirilicas rakstzīmes, jums ir nepieciešams izmantot PHP funkciju Iconv_substr

Sintakses funkcija ir vienkārša:

iconv_substr (virkne, int start [, int garums [, charsset]])

Piemērs krievu valodas virknes apgriešanai līdz 80 rakstzīmēm ar UTF-8 kodējumu, izmantojot Iconv_substr:

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

Nulles skaits piemērā nozīmē, ka 80 rakstzīmju atpakaļskaitīšana sākas no sākuma virknes.

Funkcija substr. ($ String, $ start, $ garums), kur $ virkne ir mainīgais ar tekstu, $ sākums ir raksturs, no kura skaitīšana sākas (pirmajam rakstzīmei 0), un $ garums ir izvēlētā teksta rakstzīmju skaits .

$ Teksts \u003d "Piemērs un teksts";

$ First \u003d Substr ($ teksts, 0,6); // rāda 6 rakstzīmes kopš 0th, pirmais pirmais
echo $ pirmais; // būs "piemērs".

$ otrais \u003d substr ($ teksts, 8.3); // rāda 3 rakstzīmes kopš 8
Echo $ otrais; // būs "un"
Ja nenorādīsiet rakstzīmju parametru (2 ciparu) parametru skaitu, tad funkcija izlaidīs visas atlikušās rakstzīmes.

$ Teksts \u003d "Piemērs un teksts";

$ trešais \u003d substr ($ teksts, 8); // parādīs visas rakstzīmes kopš 8
Echo $ trešdaļa; // iztukšos "un teksts"

Samazināt krievu tekstu, izmantojot MB_Substr PHP funkciju

Funkcija mb_substr. veic tādus pašus uzdevumus kā substr.bet arī spēj apstrādāt multibītu kodējumus. Tāpēc, ja krievu teksts jums būs noderīga. mb_substr.. Tas darbojas to pašu

$ teksts \u003d "teksta piemērs";

$ First \u003d MB_Substr ($ teksts, 0.6, "UTF-8"); // rāda 6 rakstzīmes kopš 0th, pirmais pirmais
// Uzmanību! Norādiet pirmkodu kodējumu! Iebildums Šis gadījums UTF-8.
echo $ pirmais; // atsaukts "Piemērs"

$ otrais \u003d MB_substr ($ teksts, 7.6, "UTF-8"); // rāda 6 rakstzīmes kopš 7. datuma
Echo $ otrais; // izņemt tekstu "
Lūdzu, ņemiet vērā, ka gadījumā kirilicu (krievu tekstu), ir labāk norādīt kodējumu beigās funkciju. Piemēram, vispopulārākais variants tiek izmantots - UTF-8

Izgrieziet tekstu no beigām

Ja jūs vēlaties, lai samazinātu tekstu no beigām, lai to izdarītu, norādiet negatīvu skaitli mainīgajam apzīmēšanai, no kura simbols ir sākts teksts.

$ teksts \u003d "sprite un fanta";

$ First \u003d Substr ($ teksts, -6,5); // rāda 5 rakstzīmes kopš 6. gada beigām
echo $ pirmais; // būs "fant"

Pēc apgriešanas es arī pabeidzu tekstu

Pēc izmēra apgriešanas ar tekstu pievienojiet papildu tekstu

$ piemērs \u003d "teksta teksta teksta teksts";

$ Piemērs \u003d substr ($ piemērs, 0,9); // rāda 9 rakstzīmes kopš 0th, pirmais pirmais
$ piemērs. \u003d "Vairāk ...";
Echo $ piemērs; // tiks out "teksta teksts vairāk ..."
Jūs varat otrādi, lai ierakstītu sākumā un pēc tam krekinga tekstu

$ teksts \u003d "tēvocis";

$ piemērs \u003d "George un Michael";
$ Piemērs \u003d Substr ($ piemērs, 0,6); // rāda 6 rakstzīmes kopš 0th, pirmais pirmais
$ teksts. \u003d $ piemērs;
Echo $ teksts; // būs "Uncle George"

Teksts uz pirmo tukšu

$ Teksts \u003d "hello world!";
Echo Substr ($ teksts, 0, Strpos ($ teksts "")); // būs "hello"

Pabeigts PHP teksta apgriešanas vārds saskaņā ar PHP

Funkcija sagriezta ($ string, $ garums) (
$ String \u003d mb_substr ($ string, 0, $ garums, "UTF-8"); // samazināt un strādāt ar visiem kodējumiem un norāda avota kodējumu
$ pozīcija \u003d MB_strrpos ($ string, "", "UTF-8"); // pēdējās vietas stāvokļa definīcija. Tas ir viņam un dalīties vārdos
$ String \u003d mb_substr ($ string, 0, $ pozīcija, "UTF-8"); // Izgrieziet mainīgo pēc pozīcijas
Atgrieziet $ virkni;
}

$ teksts \u003d "Ziemeļu karš beidzās 1721. gadā";
Atbalss samazinājums ($ teksts, 17); // izņemt "Ziemeļu karu", bez vārda "beidzās" daļas

Jūs varat sagriezt atbilstoši vārdiem, izmantojot masīvu ...

$ Teksts \u003d "Microsoft tika dibināta ar Bill Gates atpakaļ 1975. gadā.";

$ Masīvs \u003d eksplodēt ("", $ teksts); // pārstrādāt virkni masīvā
$ ARRAY \u003d ARRAY_SLICE ($ masīvs, 0,5); // Izvēlieties pirmos 5 vārdus elementus
$ newtext \u003d implogo ("", $ masīvs); // masīvs pārstrādāt atkal virknē

Echo $ newtext; // atsaukts "Microsoft tika dibināta ar Bill Gates"