Php შეასწორეთ სივრცე კიდეების გარშემო. როგორ ამოიღოთ სივრცეები PHP-ში სტრიქონებიდან? ფართების პოვნისა და გამოცვლის მაგალითი

ტექსტთან მუშაობისას ხშირად გიწევთ მისი ფორმატირება. ეს აუცილებელია სწორი ჩვენების და ადვილად წაკითხვისთვის. ეს აუცილებელია იმ შემთხვევაში, თუ მომხმარებელი შეაქვს გარკვეულ ინფორმაციას და უშვებს შეცდომებს: ერთი ინტერვალის ნაცვლად, მიუთითებს ორ სივრცეზე და აყენებს ჩანართს დასაწყისში. PHP-ში ადგილების ამოღების რამდენიმე გზა არსებობს.

მორთვა ()

Trim ფუნქცია ეძებს დამატებით სიმბოლოებს სტრიქონის დასაწყისში ან ბოლოს. ეს:

  • რეგულარული სივრცე;
  • ცხრილების შედგენა;
  • ხაზის გაწყვეტის სიმბოლო.

ამ ფორმით წერია:

სიმების მორთვა (სტრიქონი $str [, string $character_mask = "\t\n\r\0\x0B" ])

$str არის დამუშავებული სტრიქონი, ხოლო $character_mask არის დამატებითი სიმბოლოები. $character_mask არის არასავალდებულო ატრიბუტი.

Preg_replace

სიმბოლოების ძებნისა და ჩანაცვლების ფუნქცია რეგულარული გამოხატვის გამოყენებით.

შერეული preg_replace (შერეული $pattern , შერეული $replacement , შერეული $subject [, int $limit = -1 [, int &$count ]])

  1. $pattern - ნიმუში, რომელსაც ეძებთ.
  2. $replacement - ჩანაცვლების სიმბოლოები.
  3. $subject - დამუშავებული ობიექტი.
  4. $limit - განხორციელებული ჩანაცვლების რაოდენობა.

$pattern და $replacement შეიძლება იყოს მასივები. ამ შემთხვევაში ჩანაცვლება ხდება ინდექსების შესაბამისად.

Str_replace()

თქვენ შეგიძლიათ წაშალოთ სივრცეები PHP-ში სტრიქონიდან str_replace() მეთოდის გამოყენებით. ის ცვლის საძიებო სტრიქონის ყველა შემთხვევას შემცვლელი სტრიქონით.

შერეული str_replace (შერეული $search, შერეული $replace, შერეული $subject [, int &$count ])

გამოიყენება როგორც გამარტივებული preg_replace() მეთოდი.

  1. $search - საპოვნელი მნიშვნელობა.
  2. $replace - სტრიქონი, რომელიც უნდა შეიცვალოს.
  3. $subject - ობიექტი, რომელშიც ხორციელდება ძებნა და ჩანაცვლება.
  4. $count ადგენს ჩანაცვლების რაოდენობას.
$bodytag = str_replace("%body%", "შავი", " "); // ანიჭებს: Hll Wrld f PHP $vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O ", "U"); $onlyconsonants = str_replace($vowels, "", "Hello World of PHP"); // ანიჭებს: ყოველდღე უნდა მიირთვათ პიცა, ლუდი და ნაყინი $phrase = "თქვენ უნდა ჭამოთ ხილი. , ბოსტნეული და ბოჭკოვანი ყოველდღე."; $ჯანმრთელი = მასივი ("ხილი", "ბოსტნეული", "ბოჭკოვანი"); $yummy = მასივი ("პიცა", "ლუდი", "ნაყინი"); $ newphrase = str_replace ($ჯანმრთელი, $yummy, $phrase); // ანიჭებს: 2 $str = str_replace("ll", "", "კარგი გოლი მის მოლი!", $count); echo $count; ?>

ფართების პოვნისა და გამოცვლის მაგალითი

ეს ფუნქციები გამოიყენება უმეტეს სიტუაციებში, თუნდაც უფრო რთულ სიტუაციებში.

მაგალითად, მომხმარებელმა შეიყვანა გარკვეული მონაცემები, რომლებიც მოგვიანებით დაიბეჭდება ეკრანზე. მთლიანობაში ტექსტის წაკითხვისა და აღქმის გასაუმჯობესებლად საჭიროა ამ ინფორმაციის დამუშავება - წაშალეთ განმეორებითი სივრცეები, შეცვალეთ ისინი ცალკეულით.

$text1 = "გრძელი ტექსტი დამატებითი სივრცეებით";

ამ შემთხვევაში, ხედავთ, რომ სიტყვებს შორის არის ორი და სამი სივრცე. PHP-ში ადგილების ამოღების პროცედურა შემდეგია.

1. ჯერ უნდა გადააქციოთ სტრიქონი სტრიქონების მასივში ფუნქციის გამოყენებით.

აფეთქება (“ ”, $text1)​

დელიმიტერად გამოიყენება ერთი სივრცე. ამრიგად, სხეულის ნაწილები, რომლებიც არ არიან მასივის ცალკეული ელემენტები, შეიცავენ ერთ სივრცეს ნაკლებს.

2. შედეგი არის სტრიქონების მასივი, როგორიცაა:

$array = ["გრძელი", "მოცულობითი", "ტექსტი", "ერთად", "დამატებითი სივრცეები"]​

3. თითოეული ელემენტი მუშავდება ფუნქციით:

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

ერთი ან მეტი ადგილის მოსაძებნად გამოიყენეთ რეგულარული გამოხატულება /\s+/. ყველა ნაპოვნი შესატყვისი ჩანაცვლებულია სტრიქონით "". ძიება ხორციელდება $text1 ცვლადში.

4. შედეგად ვიღებთ სტრიქონს სივრცეების სწორი რაოდენობით, რომელიც ადვილად აღიქმება მომხმარებლის მიერ.

საღამო მშვიდობისა, ცოტა ხნის წინ ჩვენ ცოტა შევეხეთ პაროლების თემას და მათ უსაფრთხო შენახვას, კერძოდ, შევისწავლეთ ჰეშირების ფუნქცია. დღეს ჩვენ ცოტათი გავაგრძელებთ პაროლების და მათი შენახვის თემას და შევისწავლით ფუნქციებს, რომლითაც შეგიძლიათ ამოიღეთ სივრცეები სტრიქონის დასაწყისიდან და ბოლოდან. და აქ არის პაროლები და სტრიქონიდან სივრცეების ამოღება, მეუბნები? ჯერ ერთი, ეს ფუნქცია, რა თქმა უნდა, არ ეხება კონკრეტულად პაროლებს, მაგრამ მუშაობს მხოლოდ სტრიქონებთან და მე ვთქვი პაროლების შესახებ მხოლოდ როგორც მისი აპლიკაცია. ამიტომ, თქვენ შეგიძლიათ გამოიყენოთ ის სადაც და როცა გინდათ, თქვენი სიტუაციიდან გამომდინარე.

Რისთვის არის? ხაზის დასაწყისში და ბოლოს სივრცეების მორთვა? თუ რეგისტრაციისას მიუთითებთ საიტზე პაროლს და რატომღაც შემთხვევით დააჭერთ შორისის ზოლს და ვერ შეამჩნევთ, მაშინ თქვენი პაროლი შედგება, მაგალითად, არა ოთხი სიმბოლოსგან, არამედ ხუთისაგან, თქვენი სივრცის ჩათვლით. და ვერ გაიგებთ, რატომ არ არის პაროლი შესაფერისი, რადგან ამ სტრიქონის ჰეში განსხვავებული იქნება. ამიტომ, მე ყოველთვის გირჩევდი ადგილების ხაზში მორთვას, რათა თავიდან აიცილო ასეთი ნიუანსი. ახლა ჩვენ გადავალთ პრაქტიკაში მაგალითის განხილვაზე.

$string_pass = " 1234 " ;
$პაროლი = md5(ტრიმ($string_pass ));
$password2 = md5($string_pass);
ექო $პაროლი;
ექო "
"
;
ექო $პაროლი2;
?>

ჩვენ ვქმნით ცვლადს, რომელიც იქნება ჩვენი პაროლი და კონკრეტულად მივუთითებთ სივრცეს სტრიქონის დასაწყისში და ბოლოს. შემდეგი, ჩვენ ვქმნით ცვლადს, რომელშიც უკვე შენახული იქნება ჰეშირებული პაროლი და გადავავლებთ ხაზს მორთვა ფუნქცია, რომელიც ჯერ ამოიღებს ყველა არასაჭირო სივრცეს და მხოლოდ ამის შემდეგ მივიღებთ ჰეშირებულ პაროლს. ხოლო მეორე ცვლადში ჩვენ არ ვიყენებთ ფუნქციას ინტერვალის ამოსაღებად და სტრიქონის დაუყოვნებლივ ჰეშირებისთვის. შემდეგ ჩვენ ვაჩვენებთ ორ შედეგს ბრაუზერის ეკრანზე და ვხედავთ, რომ ისინი სრულიად განსხვავებულია, მიუხედავად იმისა, რომ ორივეჯერ გამოვიყენეთ ერთი და იგივე სტრიქონი. თუმცა, სივრცეებიდან გამომდინარე, შედეგი სრულიად განსხვავებულია, ამიტომ ამ საკითხთან დაკავშირებით ძალიან ფრთხილად უნდა იყოთ. და ბოლო რაც უნდა გითხრა. არის კიდევ ორი ​​ფუნქცია, რომელიც ხსნის სივრცეებს ​​სტრიქონის დასაწყისში, ან სტრიქონის ბოლოს და მათ ე.წ. ltrimდა rtrimშესაბამისად. ამიტომ, თუ თქვენ გჭირდებათ ადგილების ამოღება რომელიმე მხრიდან, გამოიყენეთ ისინი. და ამით ვასრულებ ამ სტატიას და გისურვებთ წარმატებებს თქვენს ყველა საქმეში.

ნებისმიერ ენაზე, სტრიქონებთან მუშაობისას, ტიპიური ამოცანაა შუალედების ამოღება როგორც ხაზის დასაწყისში, ასევე ბოლოს. PHP-ში ამ მიზნებისთვის სამი ფუნქციაა: ltrim(), rtrim(), trim(). ltrim() ფუნქცია შლის სივრცეებს ​​სტრიქონის დასაწყისში, rtrim() - სტრიქონის ბოლოს, trim() - როგორც დასაწყისში, ასევე ბოლოს. საინტერესო ის არის, რომ ეს ფუნქციები, სივრცეების გარდა, ასევე აშორებს ახალ ხაზს, carriage return, tab და null სიმბოლოების გაქცევის თანმიმდევრობას.

$example = "\tგამარჯობა ყველას\n"; var_dump(trim($მაგალითი)); var_dump(rtrim($მაგალითი)); var_dump(ltrim($მაგალითი));

შედეგად ვიღებთ:

სტრიქონი "Hi Everybody" (length=12) string "Hi Everybody" (length=14) string "Hi Everybody" (length=13)

ყველაზე საინტერესო ის არის, რომ ზემოხსენებულ ფუნქციებს ასევე შეუძლიათ მომხმარებლის მიერ მითითებული სიმბოლოების წაშლა. ამისათვის ზემოხსენებულმა ფუნქციებმა მეორე არგუმენტად უნდა გადასცეს სტრიქონი, რომელიც შეიცავს წაშლილ სიმბოლოებს. Მაგალითად:

$example = "გამარჯობა ყველას\n"; var_dump(trim($მაგალითი, "y")); var_dump(rtrim($მაგალითი, " y\n")); var_dump(ltrim($მაგალითი, "yH"));

Როგორც შედეგი:

სტრიქონი "Hi Everybody" (length=13) string "yHi Everybod" (length=13) string "i Everybody" (სიგრძე=12)