php sətirinin baş verməsini tapın. PHP istifadə edərək sətirdə alt sətirin tapılması

PHP digər sətirlərdə sətirləri tapmaq üçün müxtəlif variantlar təklif edir. Adi funksiyalar var. Normal ifadələrdən istifadə etmək mümkündür. Tərtibatçı sintaksis qaydalarına uyğun olaraq məlumat axtarışının öz versiyasını inkişaf etdirə bilər.

Sətirlərin axtarışı istədiyiniz yerdə istədiyiniz simvolun və ya sətirin mövcudluğunu təsdiqləməklə məhdudlaşmır. Obyekt sim kimi çıxış edə bilər - bu, sadəcə simdən daha geniş məlumat anlayışıdır. Axtarış, aşkarlama anı əlavə emal tələb etməkdənsə, dərhal qərarla müşayiət olunduqda xüsusilə təsirli olur.

Əsas axtarış funksiyası

Axtarış - strpos() funksiyası. Onun nəticəsi ya Boolean dəyəridir, ya da axtarılan (ikinci parametr) sətirdə (birinci parametr) mövqedən (üçüncü parametr) baş vermə mövqeyidir. Sonuncu parametr göstərilməyibsə, axtarış sətirin sıfır mövqeyindən həyata keçirilir.

Bu nümunədə, sətirdə PHP axtarışı nümunə olaraq tək simvoldan istifadə etməklə göstərilir. Simvol əvəzinə sətirdən istifadə edə bilərsiniz. PHP proqramçıya sətirlərin ölçüsündə məhdudiyyət qoymur, lakin ağlabatan məhdudiyyətlər vacibdir.

Siz sətirlər daxilində sətirləri hərf-həssas şəkildə, ilk və ya sonuncu hadisədən başlayaraq axtara və müntəzəm ifadələrdən istifadə edə bilərsiniz. Bütün digər hallarda olduğu kimi, skriptin yerləşdiyi səhifənin kodlaşdırılması vacibdir.

Bəzi hallarda sadəcə strpos() əvəzinə iconv_strpos() variantından istifadə etmək məntiqlidir. Əksər hallarda PHP sətirində alt sətir axtarışı mükəmməl dəqiq nəticələr verəcək: səhifənin və sətirin kodlaşdırılmasını eyni kodlaşdırmada saxlamaq kifayətdir.

Standart yanaşmanın xüsusiyyətləri

Əgər PHP sətirində alt sətir axtarışında heç bir nəticə yoxdursa: axtardığınız mövcud deyil və nəticə boolean dəyər olacaq. Bununla belə, əgər axtarılan alt sətir sıfır mövqeyindən başlayırsa, bu, nəticənin müqayisəsi və təhlili əməliyyatlarında vurğulanmalıdır. Nəticə 0 olduqda, bu, yanlış nəticədən çox da uzaq deyil.

JavaScript-dən fərqli olaraq, PHP sətirlərə gəldikdə daha mühafizəkardır və bu günə qədər strings stringsdir. Onlarla işləmək sətir funksiyalarıdır: sadə strpos səviyyəsindən müntəzəm ifadələrdən istifadə edərək mürəkkəb olanlara qədər.

Axtarmaq lazımdır:

  • alqoritmin istiqaməti haqqında qərar vermək;
  • axtardığınızı başqa bir şeylə əvəz edin;
  • hadisəni yoxlamaq;
  • statistika sayğacını artırmaq və s.

Alqoritmin adi məntiqi budur ki, JavaScript daha da irəli getdi və “sətirləri” obyekt kimi tanıdı. Ancaq təcrübədə tək tanınmaq kifayət deyil. Əgər biz “sətir” anlayışından mücərrəd etsək və onu real obyekt kimi başa düşsək, PHP bizə “sətirdə sətir axtarmaq” sualını real metod kontekstində formalaşdırmağa imkan verəcək, məsələn, alma ola bilər. yetişmiş, təkcə qırmızı olanda deyil.

Bir alma təsvirində "qırmızı" sözünün klassik axtarışı meyvənin yetişməsi ilə bağlı etibarlı cavabı təmin etmir. Əgər alma sətirlə deyil, obyektlə təmsil olunursa, onda PHP sətirdə strpos kimi deyil, real obyektin metodu kimi axtaracaq. Bununla belə, strpos funksiyasının metodun əsas hissəsində istifadə ediləcəyinə heç bir zəmanət yoxdur.

Qeyri-standart həllərdə standart funksiyalar

Adi (insan) məlumat emalının bir xüsusiyyəti: mövqe, bir şeyin olduğu yer, məqsəd və ya qərar olduqda vacibdir. Bütün digər hallarda, bir şeyin harada olmasının əhəmiyyəti yoxdur, onun təyin edilməsi və sonrakı hərəkətlər üçün əsas olması vacibdir.

Axtarış trim, str_replace və başqaları funksiyalarında dolayı şəkildə həyata keçirilir. Partlayış/implode və massiv manipulyasiyasını birlikdə istifadə edərkən maraqlı axtarış variantı mövcuddur.

Əgər PHP-nin bütün funksiyalarından istifadə etsəniz, sətirdə axtarış asanlıqla semantika götürür, adi sintaksisdən kənara çıxır və real məna əldə etmək üçün səbəb olur. Mənanı manipulyasiya etmək insan üçün daha tanış, alqoritm üçün daha təhlükəsizdir və sətirləri obyektlərə çevirmək maşın kodlarından müasir proqramlaşdırma dilləri dünyasına keçid kimidir.

Sətirlər veb inkişaf problemlərini həll edərkən daim işləməli olduğunuz çox vacib bir məlumat növüdür. Bu məqalə PHP tərtibatçısının həyatını asanlaşdıracaq 10 çox faydalı texnikanı təsvir edir.

Html teqlərinin sətirdən avtomatik silinməsi

İstifadəçi tərəfindən doldurulmuş formalardan istifadə edərkən bəzən bütün lazımsız etiketləri silmək lazımdır. Bu tapşırıq strip_tags() funksiyasından istifadə etməklə asanlıqla həll olunur:

$text = strip_tags($input, "");

$start və $end arasında mətn əldə edilir

Belə bir funksiya tərtibatçının arsenalında olmalıdır: o, orijinal xətti, başlanğıcı və sonu alır və $start və $end arasında olan mətni qaytarır.

GetBetween funksiyası($content,$start,$end)( $r = partlatmaq($start, $content); if (isset($r))( $r = partlatmaq($end, $r); qaytar $r; ) "" qaytarın)

URL-nin hiperlinkə çevrilməsi

WordPress bloqunda şərh formasına URL yerləşdirsəniz, o, avtomatik olaraq hiperlinkə çevriləcək. Eyni funksiyanı veb saytınızda və ya veb tətbiqinizdə tətbiq etmək istəyirsinizsə, aşağıdakı kodu istifadə edə bilərsiniz:

$url = "Jean-Baptiste Jung (http://www.webdevcat.com)"; $url = preg_replace("#http://(+)#", " ", $url);

Twitter üçün mətnin 140 simvol massivinə bölünməsi

Bəlkə bunu bilirsən Twitter 140 simvoldan çox olmayan mesajları qəbul edir. Tətbiqinizi məşhur sosial mesajlaşma saytı ilə əlaqələndirmək planlarınız varsa, mesajları 140 simvola kəsən xüsusiyyət çox güman ki, uyğun olacaq.

Funksiya bölmək_to_text($to,$text)( $total_length = (140 - strlen($to)); $text_arr = partlatmaq(" ",$text); $i=0; $message=""; foreach ($text_arr) $word kimi)( if (strlen($message[$i] . $word . " ")<= $total_length){ if ($text_arr == $word){ $message[$i] .= $word; } else { $message[$i] .= $word . " "; } } else { $i++; if ($text_arr == $word){ $message[$i] = $word; } else { $message[$i] = $word . " "; } } } return $message; }

URL-nin sətirdən çıxarılması

Bir çox insanlar trafik əldə etmək və ya rəy yaratmaq üçün blog şərhlərində URL-ləri tərk edirlər. Bu cür bağlantılar bloqu çirkləndirir və onların sayı çox olarsa, sahibinin məyusluğuna səbəb ola bilər. Beləliklə, növbəti funksiya çox faydalı olacaq!

$string = preg_replace("/\b(https?|ftp|fayl):\/\/[-A-Z0-9+&@#\/%?=~_|$!:,.;]*/ i", "", $string);

Bir simli şlaka çevirmək

SEO məqsədlərinə uyğun bir şlak (daimi keçid üçün) yaratmaq lazımdırmı? Aşağıdakı funksiya parametr kimi sətir götürür və SEO-ya uyğun şlak qaytarır. Sadə və effektiv!

Funksiya slug($str)( $str = strtolower(trim($str)); $str = preg_replace("/[^a-z0-9-]/", "-", $str); $str = preg_replace ("/-+/", "-", $str qaytarın;

CSV faylının təhlili

CSV (Komadan ayrılmış dəyərlər) faylları məlumatların saxlanması və ötürülməsi üçün sadə üsuldur və belə faylları PHP-də təhlil etmək olduqca asandır. Mənə inanmırsan? Aşağıdakı kod CSV faylının işlənməsini nümayiş etdirir:

$fh = fopen("contacts.csv", "r"); while($line = fgetcsv($fh, 1000, ",")) ( əks-səda "Əlaqə: ($line)"; )

Başqa bir sətirdə bir sətir tapmaq

Əgər sətir başqa bir sətirdə varsa və onu tapmaq lazımdırsa, problem sadədir:

Funksiyanın tərkibində($str, $content, $ignorecase=true)( if ($ignorecase)( $str = strtolower($str); $content = strtolower($content); ) strpos($content,$str) qaytarılır? doğru yalan)

Sətin müəyyən bir nümunə ilə başlamasının yoxlanılması

Java kimi bəzi proqramlaşdırma dillərində sətirin müəyyən nümunə ilə başlayıb-başlamadığını yoxlamağa imkan verən startWith metodu/funksiyası var. Təəssüf ki, PHP-də belə sadə daxili funksiya yoxdur.
Ancaq bunu özümüz üçün edə bilərik və çox sadə::

Funksiya String_Begins_With($needle, $haystack) ( qaytarın (alt($haystack, 0, strlen($needle))==$needle); )

vurğulayırıq sətirdən e-poçt

Spamerlərin e-poçt ünvanlarınızı necə əldə etdiyini heç düşünmüsünüzmü? Bu sadədir. Onlar veb səhifəni (məsələn, forumdan) götürür və e-poçt ünvanlarını çıxarmaq üçün html kodunu təhlil edirlər. Aşağıdakı kod bir sətir parametr kimi götürür və içindəki bütün e-poçtları çap edir. Zəhmət olmasa bu kodu spam üçün istifadə etməyin!

Funksiya extract_emails($str)( // Bütün e-poçtları sətirdən çıxaran adi ifadə: $regexp = "/()+\@(()+\.)+((2,4))+/i"; preg_match_all ($regexp, $str, $m return isset($m) : array( ) $test_string = "Test string...); [email protected] Digər formatların yoxlanılması: [email protected]; foobar Başqa bir yoxlama: [email protected] test6example.org [email protected] test8@ example.org test9@!foo!.org foobar "; print_r(extract_emails($test_string));

strripos - Sətirdə hərflərə həssas olmayan alt sətirin sonuncu dəfə baş verməsinin mövqeyini tapın

Təsvir

Saman tayasında iynənin son dəfə baş verməsinin ədədi mövqeyini tapın.

-dən fərqli olaraq strpos(), strripos() böyük hərflərə həssasdır.

Parametrlər

Axtarış üçün sətir.

Əgər iynə sətir deyilsə, o, tam ədədə çevrilir və simvolun sıra dəyəri kimi tətbiq edilir. Bu davranış PHP 7.3.0-dan etibarən köhnəlib və ona etibar etmək qətiyyən tövsiyə edilmir. Nəzərdə tutulan davranışdan asılı olaraq, iynə ya açıq şəkildə simə atılmalı, ya da açıq şəkildə çağırılmalıdır. chr() yerinə yetirilməlidir.

Sıfır və ya müsbət olarsa, axtarış ot tayasının ilk ofset baytlarını atlayaraq soldan sağa aparılır.

Mənfi olarsa, axtarış saman tayasının son ofset baytlarını atlayaraq və iynənin ilk baş verməsini axtararaq sağdan sola aparılır.

Bu, son ofset baytından əvvəl iynənin son baş verməsini effektiv şəkildə axtarır.

Dəyərləri qaytarın

Saman tayasının başlanğıcına nisbətən iynənin mövcud olduğu mövqeyi qaytarır (axtarış istiqamətindən və ya ofsetdən asılı olmayaraq).

Qeyd: Sətir mövqeləri 1 deyil, 0-dan başlayır.

Qaytarır YANLIŞ iynə tapılmadıqda.

Xəbərdarlıq

Bu funksiya Boolean qaytara bilər YANLIŞ, lakin eyni zamanda qiymətləndirilən qeyri-Boolean dəyəri də qaytara bilər YANLIŞ. Əlavə məlumat üçün Booleans bölməsini oxuyun. Bu funksiyanın qaytarılması dəyərini yoxlamaq üçün === operatorundan istifadə edin.

Nümunələr

Nümunə №1 Sadə strripos() misal

$haystack = "ababcd" ;
$iynə = "aB" ;

$pos = strripos ($saman tayası, $iynə);

əgər ($pos === false ) (
echo "Bağışlayın, ($haystack ) içərisində ($needle ) tapmadıq" ;
) başqa (
echo "Təbrik edirik!\n" ;
echo "Biz sonuncunu ($iynəni) ($haystack ) mövqeyində ($pos ) tapdıq" ;
}
?>

1.1K

PHP strpos funksiyası verilmiş sətirdə alt sətir tapmaq üçün istifadə olunur. Axtarılan alt sətirin ilk baş verməsinin ədədi dəyərini qaytarır.

Strpos istifadə sintaksisi

PHP strpos funksiyası aşağıdakı kimi istifadə olunur:

$pozisiya = strpos($verilən_sətir, $axtarış_sətri);

Qeyd: strpos funksiyası ilə axtarış zamanı böyük hərf həssasdır. Beləliklə, "Test" və "test" açar sözlərinin axtarışı fərqli nəticələr verəcəkdir.

Mövqelərin sayılması 1 deyil, 0-dan başlayır.

Demo versiyalardan istifadə edərək, verilmiş alt sətir və istifadəçinin daxil etdiyi dəyəri axtarmaq üçün bu funksiyanın istifadəsini nümayiş etdirəcəyəm.

strpos funksiyasından istifadənin sadə nümunəsi

PHP strpos funksiyasının necə işlədiyini nümayiş etdirmək üçün axtarış dəyərlərindən istifadə etdiyim aşağıdakı nümunəyə baxın:


Onlayn demo və kodlara baxın

PHP kodu:

"; echo " Verilmiş substr tapıldı: $position"; ) ?>

strpos PHP nümunəsi:

Sətirdə axtarış termini var: 'strpos'! Verilmiş alt sətir tapıldı: 10

İstifadəçinin daxil etdiyi termini axtarmaq üçün strpos-dan istifadə nümunəsi

Bu üsul müəyyən ssenarilərdə faydalı ola bilər. Məsələn, forma müəyyən sözlərin daxil edilməsinə icazə vermədikdə.

Bundan əlavə, axtarış üçün istifadəçi tərəfindən göstərilən sözün mənbə sətirində olub olmadığını yoxlaya bilərsiniz. Buna əsaslanaraq cavab şəklində müəyyən nəticələr çıxara bilərsiniz.

Bu demoda istifadəçi mətn sahəsinə termin daxil edə bilər. Düymə kliklədikdən sonra orijinal sətirdə alt sətir olub-olmadığını yoxlamaq üçün strpos funksiyası işə salınır. Ekranda aşağıdakı mesaj görünəcək:


Demo üçün aşağıdakı mənbə xəttindən istifadə etdim:

$source_string = "Bu demoda mən strpos istifadə edərək sətirdə axtarış termini olub-olmadığını yoxlamaq üçün istifadəçinin daxil etdiyi axtarış terminindən istifadə edirəm!";

Fərqli hərflər daxil etməyə və ya sözlər axtarmağa çalışın ki, bu funksiya yalançı olub. Həmçinin, fərqi görmək üçün terminləri böyük və ya kiçik hərflərlə daxil etməyə çalışın.

Bunun üçün aşağıdakı PHP strpos utf 8 nümunəsi istifadə edilmişdir:

"; if ($posistion === false) ( echo "Mənbə sətirində: "$search_term" yoxdur!"; ) else ( echo "Səttdə axtarış termini var: "$search_term"!
"; echo " Verilmiş alt sətir tapıldı: $position"; ) echo "

"; } ?>

Siz həmçinin strpos PHP işarələmə nümunəsinə baxa bilərsiniz:



Tam versiyanı demo səhifənin mənbə kodunda görmək olar.

Bundan əlavə, veb saytınızda axtarış sistemi yaratmaq üçün verilənlər bazasından mənbə kimi istifadə edə bilərsiniz.

Stripos funksiyasından istifadə edərək hərflərə həssas olmayan axtarış

Qeyd edildiyi kimi, PHP strpos funksiyası böyük hərflərə həssasdır. Hər halda sətirləri axtarmaq üçün PHP stripos funksiyasından istifadə edin.

Sintaksis strpos üçün demək olar ki, eynidir:

$pozisiya = stripos($verilmiş_sətir, $axtarış_simli);

İndi sizə stripoların necə işlədiyini göstərəcəyəm.

Stripos funksiyasından istifadə nümunəsi

Bu demoda axtarış mənbəyi aşağıdakı sətirdir:

$source_string = "Bu, sətirləri axtarmaq üçün istifadə edilən stripos Dərsliyidir. O, verilmiş sətirdə axtarış sətirinin olub-olmadığını bildirir!";

Axtarış termini: $search_term = 'tutorial';

Veb saytları statik və dinamik olaraq bölmək olar. İnternetdə gözəl vizit kartı hazırlamağa imkan verən HTML və CSS-i mənimsədikdən sonra çoxları PHP-də dinamik veb-saytı necə yaratmaq barədə düşünür. Eyni zamanda, maket dizayneri nəzərə almalıdır ki, indi o, veb proqramlaşdırmanı öyrənməyə başlayır: saytla işləmə prinsipləri fərqli olacaq. PHP-də yeni başlayanların qarşılaşdığı ilk problemlərdən biri sətirlərlə işləmək, onları oxumaq və emal etməkdir.

Qeyd etmək lazımdır ki, PHP-də çoxlu sayda metodlar var, ona görə də siz onları ən sadə manipulyasiyalarla öyrənməyə başlamalısınız, məsələn, sətir çıxarmaq, axtarış etmək, alt sətir almaq və ya əvəz etmək, hərfi dəyişdirmək və sətir uzunluğunu qaytarmaq. Bir çox funksiyalar kiril hərfləri ilə yaxşı işləmir. Buna görə də, bütün nümunələr aydınlıq üçün ingilis dilində yazılmışdır. Kiril sətirləri üçün eyni funksiyalardan istifadə olunur, lakin mb_ prefiksi ilə (məsələn, mb_strpos()). Analoqlardan istifadə etməzdən əvvəl php.ini uzantısı=php_mbstring.dll-də sətri şərhdən çıxarmaq lazımdır, sadəcə olaraq nöqtəli vergülü silmək lazımdır.

Sətirin yaradılması və çıxarılması

Biz tanınmış əks-səda dili konstruksiyasından istifadə edərək ekrana sətirin çıxışını təhlil edəcəyik. Proqramçı dərhal xətti çıxara bilər:

echo "Bu Yeni Xəttdir"

və ya əvvəlcə dəyişən yaradın və sonra onu ekrana çap edin:

$str = "Bu, Yeni Xəttdir";

Birində bir neçə sətir göstərmək lazımdırsa, onda birləşməyə müraciət edin:

əks-səda "Bu". "Yeni". "Xətt";

$str1 = "Bu";

$str2 = "Yeni";

$str3 = "String";

echo $str1 . $str2 . $str3;

Sonuncu halda, ekran görünəcək Bu NewLine. Echo çağırarkən dərhal boşluq əlavə edilə bilər:

echo $str1 . " " . $str2 . " " . $str3;

Bu halda, ekranda görünəcək: "Bu, Yeni Xəttdir." Birləşdirmə yalnız çıxış zamanı deyil, həm də sətir yaratarkən mümkündür:

$str1 = "Bu";

$str2 = "Yeni";

$str3 = "String";

$string = $str1 . " " . $str2 . " " . $str3;

echo $string;

Echo həm kiril, həm də kiril əlifbasını göstərir. Əgər dəyişənlərdən birində nömrə varsa, onda birləşmə zamanı bu nömrə müvafiq sətirə çevriləcək:

$sum = $i + $i; //indi $sum 4 rəqəmini ehtiva edir

echo $i . " + " . $i . " = " . $sum;

Ekranda görünəcək: "2 + 2 = 4".

Xidmət simvolları

Tutaq ki, sətir ($string = "Belə") ilə müəyyən edilir. Sonra nəzarət ardıcıllığından tamamilə təhlükəsiz istifadə edə bilərsiniz:

  • \n xətt yayımını həyata keçirir;
  • \r vaqonu qaytarır;
  • \" qoşa dırnaq işarələrindən qaçır:
    • echo "\"ikiqat\" dırnaqlarla sətir"; //Qoşa dırnaq ilə sətir
  • \$ dollardan qaçır;
  • \\ tərs xəttdən qaçır.

Daha bir çox ardıcıllıq var, onların hamısını rəsmi PHP sənədlərində tapmaq olar.

Alt sətirin ilk baş verməsinin yerini necə tapmaq olar

Deyək ki, sadə bir xəttimiz var:

Həm də adları olan iki sətirimiz var:

$name = "Yemelyan";

$anotherName = "Ketrin";

Birinci sətirdə bu iki adın olub-olmadığını bilməliyik. Bunun üçün strpos($str, $search) funksiyasından istifadə edin. Axtarılan alt sətirin mövqeyini qaytarır, $search, əgər həmin sətir orijinalda varsa, $str. Əks halda, funksiya yalançı məntiqi dəyəri qaytarır. Məsələn, strpos($string, $anotherName) false, strpos($string, $name) isə tam ədəd qaytaracaq. Kod belə olacaq (vəzifə ekranda görünəndə versiyanı yazacağıq):

$string = "Mənim adım Yemelyandır və mənim 27 yaşım var";

$name = "Yemelyan";

$anotherName = "Ketrin";

echo strpos($string, $otherName); // yalan göstərəcək

echo strpos($string, $name); //alt sətirin ilk baş verməsinin mövqeyini çap edəcək

Nəzərə alın ki, sətir nömrələnməsi sıfırdan başlayır, yəni bizim vəziyyətimizdə sonuncu sətirdə 11 rəqəmi göstərilir (boşluqlar da sayılır).

Alt sətirin və tələlərin son baş vermə mövqeyinin tapılması

Əgər strpos() funksiyası ilk hadisənin mövqeyini qaytarırsa, onun tərs funksiyası strrpos() alt sətirin sonuncu baş verməsini axtarır.

Başlanğıc nömrələmə ilə bağlı bəzi tələlər var. Bunu nəzərə almağa dəyər: PHP-də sətirlərlə işləmək müqayisələrdə məhdudiyyətlərlə çətinləşə bilər. Beləliklə, müqayisə operatorunu inkarla istifadə etməmək daha yaxşıdır: strpos($str, $search)!=false. PHP-nin istənilən versiyasında belə ekvivalentliyə malik nümunələr düzgün işləməyə bilər, çünki sətirlərin nömrələnməsi sıfırdan başlayır, məntiqi şərhdə isə 0 yanlışdır. Bu, strrpos() funksiyasına da aiddir.

Alt sətirin baş vermə sayını necə tapmaq olar

Çox vaxt sətirdə alt sətirin ilk və ya sonuncu baş verməsinin yerini deyil, onların ümumi sayını tapmaq lazımdır. Bunun üçün ən azı iki dəyişəni emal edən substr_count() funksiyasından istifadə edin: substr_count($str, $search). Tam ədəd qaytarır. Əgər axtarış sahəsini sətirlə azaltmaq lazımdırsa, onda funksiyaya daha iki dəyişən ötürülür: müvafiq olaraq sətirin əvvəli və sonu. Yəni, bu halda funksiya belə adlanır: substr_count($str, $search, $start, $end). Funksiya orijinal $str sətirinin $start-dan $end-ə qədər olan intervalda $search alt sətirini axtaracaq. Sətir tapılmazsa, funksiya sıfırı qaytaracaq.

PHP-də sətrin hərfini necə dəyişdirmək olar: nümunələr

Sətirləri müqayisə etmək üçün hərflərin dəyişdirilməsi tez-tez istifadə olunur və deyək ki, istifadəçi proqrama ali tanrının adını daxil etməlidir. İstifadəçinin cavabı müqayisə ediləcək “Bir” variantı var. Əgər daxil edilmiş mətn mövcud mətnlə uyğun gəlmirsə (məsələn, istifadəçi “bir” və ya “ONE” yazır), proqram doğru əvəzinə yalanı qaytaracaq. Bunun qarşısını almaq üçün hal dəyişdirmə funksiyasından istifadə olunur. Bu, PHP saytının teqləri olduqda tez-tez istifadə olunur: "şəxsi" sözünün yüzlərlə variantının ("Şəxsi", "şəxsi", "ŞƏXSİ" və s.) əvəzinə yalnız bir kiçik hərf işarəsi var.

strtolower() funksiyası hərfi kiçik hərflərə dəyişir. Tutaq ki, $catName = "Fluffy" xətti var. strtolower($catName) funksiyası "tüklü" sətri qaytaracaq. Siz strtoupper() funksiyasından istifadə edərək hərfi böyük hərflə dəyişə bilərsiniz.

PHP-də sətir uzunluğunu necə tapmaq olar: funksiyalarla işləmək

Çox vaxt bir simin uzunluğunu tapmaq lazımdır. Məsələn, PHP-də bu növ sətirlərlə işləmək dövrə yaradan zaman lazım ola bilər. Sətiri axtarmaq üçün rəqəmi - simvolların sayını qaytaran strlen() funksiyasından istifadə edin. Unutmamalıyıq ki, sonuncu simvolda strlen($str)-1 rəqəmi olacaq, çünki nömrələmə sıfırdan başlayır.

PHP-də alt sətirin alınması və dəyişdirilməsi: sətirlərlə işləmək

Alt sətir əldə etmək iki və ya üç arqument götürə bilən substr() funksiyası ilə həyata keçirilir: substr($str, $start, $end). Tutaq ki, bizdə $string = "Fluffy cat" var və biz ikinci simvoldan dördüncü simvola qədər alt sətri əldə etmək istəyirik. Nömrələmə sıfırdan başladığı üçün bu alt sətirlə dəyişən belə görünəcək: $newString = substr($string, 1, 4). $newString = substr($string, 1) daxil etsək, ikinci simvoldan sonuncuya (yəni "luffy") qədər alt sətir alacağıq. Bu kod strlen(): substr($string, 1, strlen($string)) istifadə edən tam sətir kodu ilə eynidir.

Alt sətri əvəz etmək üçün üç dəyişən qəbul edən str_replace() funksiyasından istifadə edin: str_replace($subStr, $newSub, $str). Bir çox funksiyalardan fərqli olaraq, str_replace() kiril simvolları ilə düzgün işləyir və prefikslə analoqu yoxdur. Misal:

$str = "Bu gün hava dəhşətlidir!";

$newStr = str_replace("dəhşətli", "gözəl", $str); //Bu gün gözəl hava!

Bir sətri nömrəyə çevirmək

Veb proqramlaşdırmanı öyrənən hər kəs gec-tez sətri rəqəmə çevirməli olur. Bunun üçün iki oxşar funksiyadan istifadə olunur: intval() və floatval(), hər biri bir $string dəyişənini alır. Onlar bir-birindən yalnız qaytarılan məlumat növünə görə fərqlənirlər: intval() tam ədədi, floatval() isə üzən nöqtə nömrəsini qaytarır.

Həm intval() həm də floatval() funksiyalarından istifadə etmək üçün sətir rəqəmlərlə başlamalıdır və bunlar rəqəmə çevriləcək. Əgər rəqəmlərin ardınca hər hansı hərflər dəsti gəlirsə, onlar sadəcə nəzərə alınmayacaq. Sətirin hərflərlə başlaması halında, funksiyadan istifadə sıfır qaytaracaq. İdeal olaraq, xətt yalnız rəqəmlərdən ibarət olmalıdır.

Ədədin sətirə çevrilməsi

Çox vaxt nömrələri sətirə çevirmək lazımdır. Yarım ədəd götürüb kvadratına çevirmək lazımdırsa, deyin (məsələn, bərabərliyin doğru olub olmadığını yoxlayın: 88 x 88 + 33 x 33 = 8833). Bu halda, strval() funksiyasından istifadə olunur, hansı ki, sətri rəqəmlə qaytarır. Bundan sonra, yeni sətirlə bütün digər hərəkətləri yerinə yetirə bilərsiniz: dəyişdirin, alt sətirin baş verməsini axtarın və digər funksiyalar. Lazım gələrsə, yuxarıda təsvir edilmiş metoddan istifadə edərək sətir yenidən nömrəyə çevrilə bilər.

Məqalə sətirlərlə əlaqəli bütün funksiyaların yalnız kiçik bir hissəsini araşdırdı. Bəzi təsvir olunmamış funksiyalar simvollarla işləyir, lakin çoxu spesifikliyə görə materiala daxil edilməyib. Bu xüsusiyyətlərlə tanış olmaq üçün siz ən son məlumatları əks etdirən rəsmi PHP sənədlərini oxumağa davam etməlisiniz.



Əlaqədar nəşrlər