Php chekkalari atrofidagi boʻshliqni kesing. PHP da satrlardan bo'sh joylarni qanday olib tashlash mumkin? Bo'shliqlarni topish va almashtirishga misol

Matn bilan ishlashda siz ko'pincha uni formatlashingiz kerak bo'ladi. Bu to'g'ri ko'rsatish va oson o'qilishi uchun zarur. Agar foydalanuvchi ba'zi ma'lumotlarni kiritsa va xatoga yo'l qo'ysa, bu kerak: bitta bo'sh joy o'rniga u ikkita bo'sh joyni ko'rsatadi va boshida yorliq qo'yadi. PHP da bo'sh joylarni olib tashlashning bir necha yo'li mavjud.

Trim()

Trim funktsiyasi satr boshida yoki oxirida qo'shimcha belgilarni qidiradi. Bu:

  • muntazam bo'sh joy;
  • jadval tuzish;
  • qator uzilish belgisi.

Bu shaklda yozilgan:

String trim (string $str [, string $character_mask = "\t\n\r\0\x0B" ])

$str - qayta ishlanayotgan satr va $character_mask - qo'shimcha belgilar. $character_mask ixtiyoriy atributdir.

Preg_replace

Muntazam ifoda yordamida belgilarni qidirish va almashtirish funksiyasi.

Aralash preg_replace (aralash $pattern , aralash $replacement , aralash $mavzu [, int $limit = -1 [, int &$count ]])

  1. $pattern - siz izlayotgan naqsh.
  2. $replacement - almashtiriladigan belgilar.
  3. $subject - qayta ishlanayotgan ob'ekt.
  4. $limit - amalga oshirilgan almashtirishlar soni.

$pattern va $replacement massiv bo'lishi mumkin. Bunday holda, almashtirish indekslarga muvofiq amalga oshiriladi.

Str_replace()

Siz str_replace() usuli yordamida PHPda satrdan boʻshliqlarni olib tashlashingiz mumkin. U qidiruv satrining barcha holatlarini almashtirish qatori bilan almashtiradi.

Aralash str_replace (aralash $search , aralash $replace , aralash $mavzu [, int &$count ])

Soddalashtirilgan preg_replace() usuli sifatida ishlatiladi.

  1. $search - topiladigan qiymat.
  2. $replace - almashtiriladigan satr.
  3. $subject - qidiruv va almashtirish amalga oshiriladigan ob'ekt.
  4. $count almashtirishlar sonini belgilaydi.
$bodytag = str_replace("%body%", "qora", " "); // tayinlaydi: Hll Wrld f PHP $unlilar = array("a", "e", "i", "o", "u", "A", "E", "I", "O" ", "U"); $onlyconsonants = str_replace($undoshlar, "", "Hello World of PHP"); // tayinlaydi: Siz har kuni pizza, pivo va muzqaymoq iste'mol qilishingiz kerak $phrase = "Siz meva iste'mol qilishingiz kerak. , sabzavot va tola har kuni."; $sog'lom = massiv("mevalar", "sabzavotlar", "tola"); $yummy = massiv("pizza", "pivo", "muzqaymoq"); $ newphrase = str_replace($healthy, $yummy, $phrase); // tayinlaydi: 2 $str = str_replace("ll", "", "yaxshi golli miss Molly!", $count); echo $count; ?>

Bo'shliqlarni topish va almashtirishga misol

Ushbu funktsiyalar ko'p holatlarda, hatto undan ham murakkabroq holatlarda qo'llaniladi.

Masalan, foydalanuvchi keyinchalik ekranda chop etiladigan ba'zi ma'lumotlarni kiritdi. Matnning o'qilishi va idrok etilishini yaxshilash uchun ushbu ma'lumotni qayta ishlash kerak - takroriy bo'shliqlarni olib tashlang, ularni bittasi bilan almashtiring.

$text1 = "Qo'shimcha bo'shliqlar bilan uzun matn";

Bunday holda, so'zlar orasida ikki va uchta bo'sh joy mavjudligini ko'rishingiz mumkin. PHP da bo'sh joylarni olib tashlash tartibi quyidagicha.

1. Avval siz funktsiya yordamida satrni satrlar massiviga aylantirishingiz kerak.

Portlash(“ ”, $text1).

Ajratuvchi sifatida bitta bo'shliq ishlatiladi. Shunday qilib, massivning alohida elementlari bo'lmagan tana qismlari bitta kamroq joyni o'z ichiga oladi.

2. Natijada quyidagi qatorlar qatori hosil bo‘ladi:

$massiv = ["Uzoq", "hajmli", "matn", "bilan", "qo'shimcha bo'shliqlar"]

3. Har bir element funktsiya tomonidan qayta ishlanadi:

Preg_replace("/\s+/", " ", $text1)​

Bir yoki bir nechta bo'shliqlarni qidirish uchun /\s+/ oddiy ifodasidan foydalaning. Topilgan barcha mosliklar ‘’ qatori bilan almashtiriladi. Qidiruv $text1 o'zgaruvchisida amalga oshiriladi.

4. Natijada, foydalanuvchi tomonidan osonlik bilan idrok etiladigan to'g'ri bo'shliqlar soniga ega bo'lgan qatorni olamiz.

Xayrli kech, yaqinda biz parollar va ularni xavfsiz saqlash mavzusiga biroz to'xtalib o'tdik, ya'ni xeshlash funktsiyasini o'rgandik. Bugun biz parollar va ularni saqlash mavzusini biroz davom ettiramiz va siz mumkin bo'lgan funktsiyalarni o'rganamiz satrning boshidan va oxiridan bo'sh joylarni olib tashlang. Va bu erda parollar va satrdan bo'shliqlarni olib tashlash, Siz menga ayting? Birinchidan, bu funktsiya, albatta, maxsus parollar bilan bog'liq emas, faqat satrlar bilan ishlaydi va men parollar haqida faqat uning ilovasi sifatida aytdim. Shuning uchun, siz o'zingizning vaziyatingizga qarab, uni xohlagan joyda va xohlagan vaqtda ishlatishingiz mumkin.

Bu nima uchun? qatorning boshida va oxirida bo'sh joylarni kesib tashlang? Agar siz ro'yxatdan o'tayotganda saytda parolni ko'rsatsangiz va tasodifan bo'sh joyni bossangiz va buni sezmasangiz, parolingiz, masalan, to'rtta belgidan emas, balki beshtadan, shu jumladan bo'sh joyingizdan iborat bo'ladi. Va parol nima uchun mos emasligini tushunolmaysiz, chunki bu satrning xeshi boshqacha bo'ladi. Shuning uchun, men har doim bunday nuanslardan qochish uchun bo'shliqlarni bir qatorda kesishni maslahat beraman. Endi biz amaliy misolni ko'rib chiqishga o'tamiz.

$string_pass = " 1234 " ;
$parol = md5(trim($string_pass ));
$parol2 = md5($string_pass );
aks-sado $parol;
aks-sado "
"
;
aks-sado $parol2;
?>

Biz parolimiz bo'ladigan o'zgaruvchini yaratamiz va qatorning boshida va oxirida bo'sh joyni ko'rsatamiz. Keyinchalik, biz xeshlangan parol allaqachon saqlanadigan o'zgaruvchini yaratamiz va chiziqni o'tkazamiz kesish funktsiyasi, bu birinchi navbatda barcha keraksiz joylarni olib tashlaydi va shundan keyingina biz xeshlangan parolni olamiz. Va ikkinchi o'zgaruvchida biz bo'shliqlarni olib tashlash va darhol satrni xeshlash funktsiyasidan foydalanmaymiz. Keyin ikkala natijani brauzer ekranida ko'rsatamiz va ikkala marta bir xil satrdan foydalangan bo'lsak ham, ular butunlay boshqacha ekanligini ko'ramiz. Biroq, bo'shliqlar tufayli, natija butunlay boshqacha, shuning uchun siz bu masalada juda ehtiyot bo'lishingiz kerak. Va sizga oxirgi narsani aytishim kerak. Satr boshida yoki oxiridagi bo'shliqlarni olib tashlaydigan yana ikkita funksiya mavjud va ular deyiladi. ltrim Va rtrim mos ravishda. Shuning uchun, agar siz biron bir tomondan bo'sh joyni olib tashlashingiz kerak bo'lsa, ulardan foydalaning. Va shu bilan men ushbu maqolani yakunlayman va barcha ishlaringizda muvaffaqiyatlar tilayman.

Har qanday tilda, satrlar bilan ishlashda odatiy vazifa qatorning boshida ham, oxiridagi bo'shliqlarni olib tashlashdir. PHP da bu maqsadlar uchun uchta funksiya mavjud: ltrim(), rtrim(), trim(). ltrim() funktsiyasi satr boshida, rtrim() - satr oxirida, trim() - boshida va oxirida bo'sh joylarni olib tashlaydi. Qizig'i shundaki, bu funksiyalar bo'shliqlardan tashqari yangi qatorni, karetani qaytarishni, yorliqni va null belgilardan qochish ketma-ketligini ham olib tashlaydi.

$example = "\tHammaga salom\n"; var_dump(trim($misol)); var_dump(rtrim($misol)); var_dump(ltrim($misol));

Natijada biz quyidagilarni olamiz:

"Hammaga salom" qatori (uzunligi=12) "Hammaga salom" (uzunligi=14) qatori "Hammaga salom" (uzunligi=13)

Eng qiziq tomoni shundaki, yuqoridagi funksiyalar foydalanuvchi tomonidan belgilangan belgilarni ham olib tashlashi mumkin. Buning uchun yuqoridagi funktsiyalar ikkinchi argument sifatida o'chiriladigan belgilarni o'z ichiga olgan qatorni o'tkazishi kerak. Masalan:

$example = "Hammaga salom\n"; var_dump(trim($misol, "y")); var_dump(rtrim($misol, "y\n")); var_dump(ltrim($misol, "yH"));

Natijada:

"Hammaga salom" qatori (uzunlik=13) " yHi everybod" (uzunlik=13) qatori "i everybody" (uzunlik=12)