PHP rus harflari. PHP tasmasini kesing: Oddiy usullar. PHP Crip_Tags - HTML va PHP yorliqlarini satrdan olib tashlaydi

Ulyanovskda saytni saqlash masalalari bo'yicha onlayn maslahat: ICQ # 179104682

Kirill satrini PHP bilan qanday kesish kerak

Joylashtirish muddati: 01.06.2014

Ulyanovskda sayt yaratish jiddiy funktsional imkoniyatlar va ma'lumotlar bazalari bilan o'zaro ta'sir bilan ma'lumotlar bazasi ma'lum bir hajmdan oshib ketishini talab qiladi. Buning uchun, masalan, kirish maydonidan foydalanib, ma'lumotlar bazasi serveriga uzatiladigan belgilar sonini cheklash uchun, saytdagi chiziqning faqat qismini (masalan, teng shakllantirishda) ajratish kerak Yangiliklar ro'yxati va boshqa ko'plab vazifalar uchun.

Dastlabki dasturchilar qoqilib ketgan birinchi narsa - PHP pastki stantsiyasi. Bu chindan ham satrlar va sintaksisni kesish uchun ishlatiladi. subtrad.(String, IN straper [, int tugmachasi]), bu erda ipni kesishni boshlamoqchi bo'lgan dastlabki belgi, va ixtiyoriy parametrlar - siz kesmoqchi bo'lgan belgilar soni. Biroq, tajribasiz dasturchi uchun, agar u kirillcha bilan PHP-ni kesish satrlari uchun ishlatishga harakat qilsa, g'alati tuyulishi mumkin. Parchalangan liniyaning oxirida kirill satriga kiradigan subtning ishi natijasida savol belgisi ko'rinishi yoki rombikli savol belgisi paydo bo'lishi mumkin yoki ba'zi sabablarga ko'ra kesilgan belgilarning umumiy soni biroz oz bo'ladi int davomchining parametrida ko'rsatilgan. Nega u davom etmoqda?

UTF-8 dagi rus tilida so'zlashadigan belgilar 2 baytning o'lchami va lotin belgilari faqat 1 baytdir. PHP Subtr funktsiyasi belgilar bilan emas, balki chiziqni bayt bilan kesib tashlaydi. Agar satr lotin qahramonlaridan iborat bo'lsa, unda hech narsa g'alati yuz bermaydi, chunki belgilar soni baytlar soniga to'g'ri keladi. Va har bir belgi 2 baytni olib boradigan kirill bilan ishlashda, int uzunlik parametri xarakterning "o'rta" ga osonlikcha, natijada, bu kasallikni ko'ramiz rombli ichimlikdagi ishonch belgisi.

Qanday qilib kirill bilan ketma-ket qismni kesish kerak?

Ushbu muammoning echimi aslida juda oddiy. To'g'ri PHP-ni kesish uchun kirill belgilarini o'z ichiga olgan kesish selill belgilari ICONV_SUBST-dan foydalanishingiz kerak

Sintaksis funktsiyasi oddiy:

iconv_subst (satr, int strak [, CR uzunligi [, Charset]))

ICONV_SUBST-dan foydalangan holda UTF-8 kodlashi bilan 80 tagacha kodlash bilan 80 tagacha belgilarni kesish uchun misol:

$ yangi_string \u003d iconv_subst ($ string, 0, 80, "UTF-8");

Masalan, nol soni 80 ta belgining hisob-kitobi satrning boshidanoq boshlanishi degani.

Dasturchilar ko'pincha PHPda qatorlar bilan ishlashning turli funktsiyalari bilan shug'ullanishlari kerak. Barcha funktsiyalar turli xil kataloglarda taqdim etiladi, ammo men faqat asosiy narsalarga cheklamoqchiman.

Php pastki funktsiyasi - satrning bir qismini oling

Agar ushbu pozitsiyasidan boshlab berilgan uzunlikdagi parchani tanlash kerak bo'lsa, yordam funktsiyasi qutqaruvga keladi. Ushbu funktsiyada, vergul bilan uzatiladi: matn, boshlang'ich holat va belgilar soni. Ikkinchi parametr talab qilinmaydi va uning yo'qligi bo'lsa funktsiya natijasi satr oxiriga qadar boshlang'ich holatidan ekilgan bo'ladi.

Php strlen funktsiyasi - string uzunligini o'rganing

Ushbu funktsiya butun son shaklida manba satrining uzunligini qaytaradi. Ushbu xususiyat Siz foydalanuvchining kiritilgan ma'lumotlarning uzunligini tekshirishingiz mumkin va ehtimol boshqa narsa.

PHP Trim funktsiyasi - chiziqning chetiga ortiqcha joylarni olib tashlang

Trim xususiyatlari satrning chetlari bo'ylab har qanday bo'sh joyni, shu jumladan chiziqli tarjima belgisini olib tashlaydi. Shuningdek, ustki va LTRim funktsiyalari mavjud bo'lib, ular satrning boshida batonka bo'shliqlarni olib tashlaydi.

PHP Strpos funktsiyasi - satrda qidiradi

Strpos funktsiyasi satrda substing qidirmoqda va agar muvaffaqiyat bo'lsa, ushbu substratsiyaning boshlanish holatini qaytaradi. Birinchi substratsiyani topgandan so'ng, qidiruv to'xtaydi. Funktsiyadagi dalillarning tartibi, siz allaqachon minnatdor bo'lganingizdek, quyidagicha: manba chizig'i, substing, boshlang'ich holat. Uchinchi parametr talab qilinmaydi, lekin nima ekanligini eslashga harakat qiling.

PHP Crip_Tags - HTML va PHP yorliqlarini satrdan olib tashlaydi

Strip_tag funktsiyasi HTML va PHP Tags-dan tozalangan satrni qaytaradi. U sizning saytingizda sharhlarni yozganingizda, u sizning saytingizdagi Modulni yozganingizda, u sizga foyda keltiradi, shunda siz ushbu shaklni shaklda buzish uchun hujumlarni qoldirmaysiz.html va pHP. O'chirilishi kerak "; echo strip_tags ($ matnli); echo strip_tags ($ matnli» "); // eM yorliqlarini o'chirmang. Funktsiyaning birinchi argumenti manba matnidir, ammo o'chirib bo'lmaydigan ikkinchi teglar.

PHP Strick Munage - satrni pastki registrga tarjima qiladi

Php stttepper funktsiyasi - satrni katta harfga tarjima qiladi

Agar ushbu sayt sizga foydali bo'lsa, siz uning rivojlanishida yordam berishingiz mumkin

Saytning moslashuvchan tartibi, uning sahifalarida tashrif buyuruvchi ishlatadigan qurilmaga qarab etarli o'zgarishlarni o'z ichiga oladi. Agar deyarli hamma narsa Blok va kichik elementlar bilan "avtomatlashtirish" uchun "avtomatlashtirish" ga tegishlidir, so'ngra tarkib shakllanishida va server tomonisiz ma'lumotlar bazalaridan foydalanish qiyin.

Odatda HTML-lash elementi ko'rinadigan belgilar soniga cheklangan bo'lsa, php-da bir qatorda, lekin bu shaxsiy vazifa.

An'anaviy echim

Eng mashhur va tez-tez ishlatiladigan xususiyatlardan biri bu pastki (). Ikki yoki uchta parametr unga uzatiladi:

    manba liniyasi; Boshlang'ich pozitsiyasi ($ IPOS); Kesilgan substratning uzunligi ($ ilen).

Oxirgi parametr ko'rsatilmasligi mumkin. Agar ikkita parametr ko'rsatilgan bo'lsa: Subrr () ning natijasi, boshlang'ich pozitsiyasidan ($ IPOS) oxirigacha substing bo'ladi. Agar uchta parametr uzatilgan bo'lsa, u boshlang'ich holatidan ($ iPOS) belgilangan uzunlikka ($ IPOS) kesib oling.

Ushbu funktsiya orqali faqat satrning boshlanishini tanlang. Birinchi parametr nolga teng bo'ladi. Agar boshlang'ich pozitsiya salbiy bo'lsa, unda biz satrni kesib tashlagan holda, php chiziq oxiridan $ iPOS pozitsiyasida belgilarni hisoblaydi. Satrdagi belgilarni raqamlash noldan amalga oshiriladi.

Maxsus funktsiya

"Chiziqni kesing" vazifasi (keng ma'noda) kontekstda ko'rib chiqiladi: har ikki tomondan. Tarixan, bu ahamiyatsiz belgilarni olib tashlashni niyat qiladigan trim () funktsiyasi:

    bo'shliqlar; Chiziqli tarjimalar; Orqaga qaytish; jadvallar; Nol belgilar

satrning ikkala uchi bilan. Bu juda qidirish - shundan keyin, ayniqsa ma'lumotlar bazalari bilan ishlashda, ular ko'pincha ko'plab bo'shliqlarni o'z ichiga oladi. Portlash () funktsiyasidan foydalanganda, satrning boshidan va oxirida keraksiz belgilar ko'pincha olinadi.

Biroq, barcha ishlab chiqaruvchilar to'liq kuchda bezak () funktsiyasidan foydalanadilar. Vazifaga ko'ra, "satrini kesing" PHP funktsiyaning har qanday to'plamini belgilashingiz mumkin bo'lgan barcha belgilarni belgilashingiz mumkin bo'lgan barcha belgilar to'plamidan foydalanishni taklif qiladi.


Xarakterlar faqat boshidan va oxirida olib tashlanishi muhimdir. Olib tashlanadigan belgilar niqoblarini va pastki qismlarning ketma-ketligini boshqarishi juda muhimdir.

    Birinchi niqobda PHP-dagi satrni kesish. Keyin ikkinchisida. Keyin uchinchi.

Bitta funktsiya uchun dastur variantlari ketma-ketligi natijasida biz vazifani hal qilish uchun zarur bo'lganidek, biz PHP-da matnni kesib tashladik.

Nostandart usullar

Agar siz tilning kichik harflari spektrini ko'rib chiqmasangiz, unda funktsiyalar juftligi () () va Str_Replace () funktsiyasi kichik harflarni kiritish noan'anaviy bo'lmagan vazifalarni hal qilishga imkon beradi.


MySQL so'rovining natijasi har doim chiqarilgan ma'lumotlar tarkibida shakllantiriladi va natijaning natijalari (elementlari) har doim manba bilan belgilanadi, ya'ni ma'lumotlar bazasini loyihalashtirgan ishlab chiqaruvchi.

Bu shaxsiy misol, lekin savolga aniq savolga javob beradi: php-da juda ko'p satrlar mavjud bo'lganda kesish mumkin. TRM () funktsiyasi - bu aniq, va uning tarixi vazifalar bilan belgilanadi, ammo ma'lum bir narsalardan tashqari biror narsani kesish kerak bo'lmagan taqdirda, zarur emas edi.

Bugungi kunda ma'lumot aylantiriladi, katta hajm va kesish liniyasi nafaqat ehtiyoj emas, balki irratsional.

Komponentlarga ajratish, shuningdek satrni qanday kesish variantini tanlang. PHP portodga muvofiq avtomatik ravishda () bitta katta matnni turli xil qatorlarga tushiradi. Str_Replace () funktsiyasini qo'llash - bu belgilarning bir yuzdini boshqasiga almashtirish - bu shunga o'xshash ta'sirga erishish mumkin.


Qayta ishlash kerak bo'lgan ma'lumotlar va bir dinamik, birinchi navbatda bitta maxsus funktsiyani ishlatish emas.

Sizga maqola yoqdimi? Do'stlar bilan bo'lishish uchun: