PHP სიმებიანი ფუნქციები მორთვა სიმებიანი. გაჭრა PHP სიმებიანი: მარტივი გზები

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

ჩვეულებრივ ჭრის სიმებიანი PHP როდესაც hTML ელემენტი განლაგებას აქვს ლიმიტი სიმბოლოების რაოდენობის მიხედვით, მაგრამ ეს არის კერძო ამოცანა.

ტრადიციული გადაწყვეტილება

ერთ-ერთი ყველაზე პოპულარული და ხშირად გამოყენებული თვისებები სუბსტრშია (). ორი ან სამი პარამეტრი გადაეცემა მას:

  • წყარო ხაზი;
  • დასაწყისი პოზიცია ($ IPOS);
  • გათიშვის სუბსტრაციის სიგრძე ($ INEN).

ბოლო პარამეტრი არ შეიძლება აღინიშნოს. თუ მხოლოდ ორი პარამეტრი მითითებულია: სუბსტრის შედეგი () იქნება სუბსტრირება, დაწყების პოზიციიდან ($ IPOS) წყაროს ბოლომდე. თუ სამი პარამეტრი გადაიყვანეს, მაშინ მოჭრილი PHP სიმებიანი დაწყების პოზიციიდან ($ IPOS) მითითებულ სიგრძეზე ($ ILEN).

შერჩევა მხოლოდ დასაწყისში სიმებიანი საშუალებით ამ ფუნქციის საშუალებით შესაძლებელია, როდესაც პირველი პარამეტრი არის ნულოვანი. თუ თავდაპირველი პოზიცია უარყოფითია, მაშინ დასაწყისში, საიდანაც ჩვენ დავჭრათ სიმებიანი, PHP ითვლიან პერსონაჟს $ IPOS პოზიციაზე. სიმებიანი სიმბოლოების ნუმერაცია ხორციელდება ნულიდან.

სპეციალური ფუნქცია

ამოცანა "გაჭრა ხაზი" PHP მიიჩნევს (ფართო აზრით) კონტექსტში: ორივე მხარეს. ისტორიულად, ეს არის მორთვა () ფუნქცია, რომელიც აპირებს უმნიშვნელო სიმბოლოების ამოღებას:

  • ხარვეზები;
  • ხაზის თარგმანები;
  • დაბრუნების გადაზიდვა;
  • tabulation;
  • ნულოვანი სიმბოლოები

ორივე მთავრდება სიმებიანი. ეს არის ძალიან ძებნილი ფუნქცია, განსაკუთრებით მაშინ, როდესაც მუშაობს მონაცემთა ბაზებთან, რომელთა ნიმუშიც ხშირად შეიცავს ბევრ ხარვეზს. ხშირად მიღებულია აფეთქების () ფუნქციის გამოყენებისას, ასევე, ხშირად კი, ასევე სტრიქონის თავიდან ასაცილებლად.

თუმცა, ყველა დეველოპერმა არ გამოიყენოს მორთვა () ფუნქცია სრული ძალით. ამოცანა, "გაჭრა სიმებიანი" PHP სთავაზობს გამოიყენოს მეორე პარამეტრის ფუნქცია, სადაც შეგიძლიათ მიუთითოთ ნებისმიერი კომპლექტი სიმბოლო, რომელიც უნდა აღმოიფხვრას წყარო ხაზი.

მნიშვნელოვანია, რომ გმირები ამოღებულ იქნეს მხოლოდ დასაწყისიდან და წყაროს ბოლოდან. მნიშვნელოვანია, რომ მოსახსნელი სიმბოლოების ნიღბების მანიპულირება და ქვედანაყოფების თანმიმდევრობა.

  • პირველი ჭრის სიმებიანი PHP ერთი ნიღაბი.
  • შემდეგ მეორეზე.
  • შემდეგ მესამე.

აპლიკაციის პარამეტრების თანმიმდევრობით ერთი ფუნქციისთვის, ჩვენ მოჭრილი ტექსტი PHP- ზე, როგორც საჭიროა ამოცანების მოსაგვარებლად.

არასტანდარტული მეთოდები

თუ არ განიხილავთ ენის ქვედა ფუნქციების მთელ სპექტრს, მაშინ ფუნქციებს აფეთქდეს () / implode () და str_replace () ფუნქცია საშუალებას გაძლევთ გადაწყვიტოს არასტანდარტული ამოცანები "ჭრის" ქვედა შემთხვევაში ინფორმაცია.

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

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

დღეს, ინფორმაციის გავრცელება დიდი მოცულობით და ჭრის ხაზი არ არის მხოლოდ საჭიროება, არამედ ირაციონალური.

კომპონენტების გამოყოფა ასევე ვარიანტი, თუ როგორ უნდა მორთვა სიმებიანი. PHP ავტომატურად აფეთქების მიხედვით () შეამცირებს ერთ დიდ ტექსტს სხვადასხვა სასურველ რიგებში. STR_REPLAPLA- ის ფუნქციის გამოყენება - ეს არის, შეცვლის სიმბოლოების ერთი შემთხვევა სხვა - შეიძლება მიაღწიოს მსგავსი ეფექტი.

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

საიტის ადაპტური განლაგება მოიცავს თავის გვერდებს ადექვატურ ცვლილებას, რომელიც დამოკიდებულია მოწყობილობაზე, რომელიც სტუმარს იყენებს. თუ თითქმის ყველაფერი არის, რომ "ავტომატიზაცია" CSS და JavaScript- ზე ბლოკის და ქვედა ელემენტებთან ერთად, მაშინ სერვერის გარეშე მონაცემთა ბაზების ფორმირების და მონაცემთა ბაზების გამოყენება რთულია.

როგორც წესი, ზედიზედ PHP- ზე, როდესაც HTML განლაგების ელემენტს აქვს ლიმიტი, რომელიც ჩანს სიმბოლოების რაოდენობაზე, მაგრამ ეს არის კერძო ამოცანა.

ტრადიციული გადაწყვეტილება

ერთ-ერთი ყველაზე პოპულარული და ხშირად გამოყენებული თვისებები სუბსტრშია (). ორი ან სამი პარამეტრი გადაეცემა მას:

    წყარო ხაზი; დასაწყისი პოზიცია ($ IPOS); გათიშვის სუბსტრაციის სიგრძე ($ INEN).

ბოლო პარამეტრი არ შეიძლება აღინიშნოს. თუ მხოლოდ ორი პარამეტრი მითითებულია: სუბსტრის შედეგი () იქნება სუბსტრირება, დაწყების პოზიციიდან ($ IPOS) წყაროს ბოლომდე. თუ სამი პარამეტრი გადაიყვანეს, მაშინ მოჭრილი PHP სიმებიანი დაწყების პოზიციიდან ($ IPOS) მითითებულ სიგრძეზე ($ ILEN).

შერჩევა მხოლოდ დასაწყისში სიმებიანი საშუალებით ამ ფუნქციის საშუალებით შესაძლებელია, როდესაც პირველი პარამეტრი არის ნულოვანი. თუ თავდაპირველი პოზიცია უარყოფითია, მაშინ დასაწყისში, საიდანაც ჩვენ დავჭრათ სიმებიანი, PHP ითვლიან პერსონაჟს $ IPOS პოზიციაზე. სიმებიანი სიმბოლოების ნუმერაცია ხორციელდება ნულიდან.

სპეციალური ფუნქცია

ამოცანა "გაჭრა ხაზი" PHP მიიჩნევს (ფართო აზრით) კონტექსტში: ორივე მხარეს. ისტორიულად, ეს არის მორთვა () ფუნქცია, რომელიც აპირებს უმნიშვნელო სიმბოლოების ამოღებას:

    ხარვეზები; ხაზის თარგმანები; დაბრუნების გადაზიდვა; tabulation; ნულოვანი სიმბოლოები

ორივე მთავრდება სიმებიანი. ეს არის ძალიან ძებნილი ფუნქცია, განსაკუთრებით მაშინ, როდესაც მუშაობს მონაცემთა ბაზებთან, რომელთა ნიმუშიც ხშირად შეიცავს ბევრ ხარვეზს. ხშირად მიღებულია აფეთქების () ფუნქციის გამოყენებისას, ასევე, ხშირად კი, ასევე სტრიქონის თავიდან ასაცილებლად.

თუმცა, ყველა დეველოპერმა არ გამოიყენოს მორთვა () ფუნქცია სრული ძალით. ამოცანა, "გაჭრა სიმებიანი" PHP სთავაზობს გამოიყენოს მეორე პარამეტრის ფუნქცია, სადაც შეგიძლიათ მიუთითოთ ნებისმიერი კომპლექტი სიმბოლო, რომელიც უნდა აღმოიფხვრას წყარო ხაზი.


მნიშვნელოვანია, რომ გმირები ამოღებულ იქნეს მხოლოდ დასაწყისიდან და წყაროს ბოლოდან. მნიშვნელოვანია, რომ მოსახსნელი სიმბოლოების ნიღბების მანიპულირება და ქვედანაყოფების თანმიმდევრობა.

    პირველი ჭრის სიმებიანი PHP ერთი ნიღაბი. შემდეგ მეორეზე. შემდეგ მესამე.

აპლიკაციის პარამეტრების თანმიმდევრობით ერთი ფუნქციისთვის, ჩვენ მოჭრილი ტექსტი PHP- ზე, როგორც საჭიროა ამოცანების მოსაგვარებლად.

არასტანდარტული მეთოდები

თუ არ განიხილავთ ენის ქვედა ფუნქციების მთელ სპექტრს, მაშინ ფუნქციებს აფეთქდეს () / implode () და str_replace () ფუნქცია საშუალებას გაძლევთ გადაწყვიტოს არასტანდარტული ამოცანები "ჭრის" ქვედა შემთხვევაში ინფორმაცია.


MySQL- ის შედეგების შედეგი ყოველთვის ჩამოყალიბებულია გაცემული ინფორმაციის სტრუქტურაში, შედეგების შედეგების (ელემენტების) შინაარსი ყოველთვის განისაზღვრება წყაროდან, ანუ დეველოპერი, რომელიც შექმნილია მონაცემთა ბაზაში.

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

დღეს, ინფორმაციის გავრცელება დიდი მოცულობით და ჭრის ხაზი არ არის მხოლოდ საჭიროება, არამედ ირაციონალური.

კომპონენტების გამოყოფა ასევე ვარიანტი, თუ როგორ უნდა მორთვა სიმებიანი. PHP ავტომატურად აფეთქების მიხედვით () შეამცირებს ერთ დიდ ტექსტს სხვადასხვა სასურველ რიგებში. STR_REPLAPLA- ის ფუნქციის გამოყენება - ეს არის, შეცვლის სიმბოლოების ერთი შემთხვევა სხვა - შეიძლება მიაღწიოს მსგავსი ეფექტი.


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

ონლაინ რჩევები საიტის სარემონტო საკითხებზე Ulyanovsk: ICQ # 179104682

როგორ გაჭრა კირქალაქის სიმებიანი გამოყენებით PHP.

განთავსება თარიღი სტატიები 01.06.2014

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

პირველი, რაც დამწყებ პროგრამისტებს stumbled - PHP სუბსტრაციის ფუნქცია. ეს მართლაც გამოიყენება სიმებიანი და სინტაქსის მორთვა. სუბსტრი.(სიმებიანი, int დაწყების [, int სიგრძე]), სადაც int start - საწყის სიმბოლო, საიდანაც გსურთ დაიწყოს ჭრის სიმებიანი და სურვილისამებრ პარამეტრი int სიგრძე - რიგი სიმბოლოების გსურთ გაჭრა. თუმცა, გამოუცდელი პროგრამისტი, შეიძლება ჩანდეს უცნაური, თუ ის ცდილობს გამოიყენოს იგი PHP trimming strings ერთად კირილი. CROPPED ხაზის დასასრულს კირილიკლინის სტრიქონის სუბსტრის მუშაობის შედეგად, კითხვის ნიშნის ჩანაწერი შეიძლება გამოჩნდეს, ან რამდენიმე კითხვის ნიშნის დროს, და რატომღაც, დაჭრილი სიმბოლოების საერთო რაოდენობა ორჯერ მეტია მითითებული იყო int სიგრძის პარამეტრი. რატომ ხდება ეს?

UTF-8- ში რუსულენოვანი სიმბოლოების რაოდენობა 2 ბატის ზომაა, ხოლო ლათინური სიმბოლოები მხოლოდ 1 ბაიტი არიან. PHP Substr ფუნქცია წყვეტს ბაიტებს, და არა სიმბოლოებს. თუ სიმებიანი შედგება ლათინური სიმბოლოებისგან, მაშინ უცნაური არაფერია, ვინაიდან სიმბოლოების რაოდენობა ემთხვევა ბაიტების რაოდენობას. და კირილინიკასთან მუშაობისას, სადაც თითოეული ხასიათი იღებს 2 ბაიტს, Int სიგრძის პარამეტრი ადვილად შეუძლია მიიღოს "შუა" ხასიათი, და შედეგად, დასასრულს cut ხაზი გამომავალი, ჩვენ დავინახავთ, რომ ავად -შობილი კითხვის ნიშნის rhombic.

როგორ მოჭრილი ნაწილი ზედიზედ კირილინიკით?

ამ პრობლემის გადაჭრა ძალიან მარტივია. სწორი PHP trimming strings შემცველი კირილიური სიმბოლოების თქვენ უნდა გამოვიყენოთ PHP ფუნქცია iconv_substr

სინტაქსის ფუნქცია მარტივია:

iconv_substr (სიმებიანი, int დაწყების [, int სიგრძე [, charset]])

მაგალითი რუსულენოვანი სიმებიანი მდე 80 სიმბოლოთი UTF-8 კოდირების გამოყენებით iconv_substr:

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

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

ფუნქციონირება სუბსტრი. ($ String, $ start, $ სიგრძე), სადაც $ string არის ცვლადი ტექსტი, $ დაწყება არის ხასიათი, საიდანაც დათვლის იწყება (პირველი ხასიათი 0), და $ სიგრძე არის რიგი სიმბოლოთა შერჩეული ტექსტი .

$ ტექსტი \u003d "მაგალითი და ტექსტი";

$ FIRST \u003d SUBSTR ($ ტექსტი, 0,6); // გვიჩვენებს 6 სიმბოლოს წლიდან 0th, ძალიან პირველი
echo $ პირველი; / / "მაგალითი".

$ SECOND \u003d SUBSTR ($ ტექსტი, 8.3); // გვიჩვენებს 3 სიმბოლო შემდეგ მე -8
Echo $ მეორე; / / Out "და"
თუ არ დააკონკრეტებთ სიმბოლოების პარამეტრების რაოდენობას (2 ციფრი), მაშინ ფუნქცია ყველა დარჩენილი პერსონაჟის გამოყოფს.

$ ტექსტი \u003d "მაგალითი და ტექსტი";

$ მესამე \u003d სუბსტრი ($ ტექსტი, 8); // გამოჩნდება ყველა სიმბოლო შემდეგ მე -8
Echo $ მესამე; // გაითიშა "და ტექსტი"

გაჭრა რუსეთის ტექსტი MB_Substr PHP ფუნქციის გამოყენებით

ფუნქციონირება mb_substr. ასრულებს იგივე ამოცანებს სუბსტრი.მაგრამ ასევე შეუძლია multibyte encodings- ის გატარება. აქედან გამომდინარე, რუსული ტექსტის შემთხვევაში სასარგებლო იქნება. mb_substr.. იგი მუშაობს იგივე

$ ტექსტი \u003d "ტექსტის მაგალითი";

$ first \u003d mb_substr ($ ტექსტი, 0.6, "UTF-8"); // გვიჩვენებს 6 სიმბოლოს წლიდან 0th, ძალიან პირველი
// ყურადღება! მიუთითეთ კოდის კოდირება! -ში ეს საქმე UTF-8.
echo $ პირველი; / / ამოღებული "მაგალითი"

$ second \u003d mb_substr ($ ტექსტი, 7.6, "UTF-8"); // გვიჩვენებს 6 სიმბოლო შემდეგ მე -7
Echo $ მეორე; / / გამოსვლა "ტექსტი"
გთხოვთ გაითვალისწინოთ, რომ კირილიჩის (რუსული ტექსტის) შემთხვევაში, უმჯობესია განსაზღვროს კოდირება ფუნქციის დასასრულს. მაგალითში, ყველაზე პოპულარული ვარიანტი გამოიყენება - UTF-8

დავჭრათ ტექსტი ბოლომდე

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

$ ტექსტი \u003d "Sprite და Fanta";

$ FIRST \u003d SUBSTR ($ ტექსტი, -6,5); // გვიჩვენებს 5 სიმბოლო შემდეგ მე -6 ბოლოდან
echo $ პირველი; // იქნება "ფანქარი"

მას შემდეგ, რაც trimming, მე ასევე დასრულდება ტექსტი

მას შემდეგ, რაც trimming ცვლადი ტექსტი დაამატოთ დამატებითი ტექსტი

$ მაგალითი \u003d "ტექსტური ტექსტური ტექსტი";

$ მაგალითი \u003d substr ($ მაგალითი, 0.9); // გვიჩვენებს 9 სიმბოლოს წლიდან 0th, ძალიან პირველი
$ მაგალითი. \u003d "More ...";
Echo $ მაგალითი; / / გამოვა "ტექსტური ტექსტი უფრო ..."
თქვენ შეგიძლიათ პირიქით, რათა ჩაწეროთ დასაწყისში, და შემდეგ დაბზარული ტექსტი

$ ტექსტი \u003d "ბიძა";

$ მაგალითი \u003d "გიორგი და მაიკლ";
$ მაგალითი \u003d substr ($ მაგალითი, 0,6); // გვიჩვენებს 6 სიმბოლოს წლიდან 0th, ძალიან პირველი
$ ტექსტი. \u003d $ მაგალითი;
Echo $ ტექსტი; / / იქნება "ბიძა გიორგი"

Trimming ტექსტი პირველი ცარიელი

$ ტექსტი \u003d "Hello World!";
Echo Substr ($ ტექსტი, 0, Strapp ($ ტექსტი ")); / / "გამარჯობა"

დასრულდა PHP ტექსტის trimming სიტყვა მიხედვით PHP

ფუნქცია დაჭრილი ($ string, $ სიგრძე) (
$ String \u003d mb_substr ($ string, 0, $ სიგრძე, "UTF-8"); // დაჭრილი და მუშაობა ყველა encodings და მიუთითეთ წყარო კოდირება
$ standard \u003d mb_strppos ($ string, "", "UTF-8"); / ბოლო სივრცის პოზიციის განსაზღვრა. ეს არის მასზე და გაუზიარეთ სიტყვებს
$ String \u003d mb_substr ($ string, 0, $ პოზიცია, "UTF-8"); / / მოჭრილი ცვლადი პოზიცია
დაბრუნება $ string;
}

$ ტექსტი \u003d "ჩრდილოეთ ომი დასრულდა 1721 წელს";
Echo cut ($ ტექსტი, 17); / / გაიყვანეთ "ჩრდილოეთ ომი", სიტყვა "დასრულდა"

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

$ ტექსტი \u003d "Microsoft დაფუძნდა ბილ გეითსის მიერ 1975 წელს";

$ Array \u003d აფეთქდეს ("", $ ტექსტი); // Recycle სიმებიანი შევიდა მასივი
$ array \u003d array_slice ($ array, 0.5); / / აირჩიეთ პირველი 5 სიტყვა ელემენტები
$ newtext \u003d implode ("", $ array); // Array Recycle კვლავ სიმებიანი

Echo $ newtext; // ამოღებული "Microsoft დაფუძნდა ბილ გეითსის მიერ"