Bir php dizesini ayrıştırma PHP'de bir dosya okuma. En iyi seçeneği seçmek. $ start ve $ end arasındaki metni alın

Bir üçüncü taraf sitesinden gerekli bilgileri ayrıştırma ve işleme görevi, bir web geliştiricisinin oldukça sık ve çeşitli nedenlerle karşı karşıya kaldığı bir görevdir: bu şekilde, projenizi içerikle doldurabilir, dinamik olarak bazı bilgileri yükleyebilirsiniz, vb.

Bu gibi durumlarda, programcı şu soruyla karşı karşıya kalır: Onlarca kitaplıktan hangisini seçmeli? Bu yazıda en popüler seçenekleri değerlendirmeye ve en iyisini seçmeye çalıştık.

Düzenli ifadeler

İlk akla gelen "düzenli" olsa da, onları gerçek projeler için kullanmamalısınız.

Evet, ile basit görevler Normal ifadeler en iyi işi yapar, ancak büyük ve karmaşık bir HTML kodu parçasını ayrıştırmanız gerektiğinde, bunların kullanımı çok daha zor hale gelir; bu, ayrıca her zaman belirli bir kalıpla eşleşmez ve genellikle sözdizimi hataları içerebilir.

"bitirmek" yerine Düzenli ifade Koddaki en ufak bir değişiklik için aşağıdaki araçları kullanmanızı öneririz - daha kolay, daha kullanışlı ve daha güvenilirdir.

XPath ve DOM

htmlSQL

PHP kullanmıyorsanız, diğer programlama dilleri için benzer araçların kısa bir listesine göz atabilirsiniz.

Yayın tarihi: 03.01.2018

Selamlar arkadaşlar! 🙂

Sanırım, hepsi değilse de, o zaman kesinlikle çoğunuz, sunucu komut dosyaları düzeyinde txt dosyalarından bilgi okuma ihtiyacı ile pratikte karşılaştınız. En azından, sonuncusunu bugün size anlatacağım bu tür birkaç vakam oldu.

Bunda zor bir şey yok, ancak bazen sunucu taraflı diller aracılığıyla sağlanan seçeneklerin bolluğundan gözleriniz kamaşıyor. Özellikle şu anda programlamakta olduğum PHP hakkında konuşursak, ardından işlevlerini kullanarak, dosyaların içeriğini hem satır satır hem de tamamen bir dizge ve bir dizi olarak okuyabilirsiniz ve ikincisi için birkaç yol daha vardır. .. Bunlar turtalar 🙂

Ne yazık ki, sadece bu yöntemler farklı yapılardaki dosyalar için farklı hızlarda çalışır ve resmi belgelerde çalışmalarının hızı hakkında tek bir kelime yoktur; bu sadece pratikte tüm olası seçenekleri sıralayarak değerlendirilebilir.

Bu nedenle, bugün size dosyaları okumak için çeşitli PHP işlevlerinin nasıl çalıştığını göstereceğim, böylece gerçek dünyadaki görevler için bir PHP dosya ayrıştırıcısı oluşturmanız gerektiğinde, hangisini seçeceğinizi bilirsiniz. Ayrıca size "savaş koşullarında" doğru seçimi nasıl yapacağınızı tam olarak anlatacağım.

Gitmek! 🙂

PHP dosya ayrıştırıcısı oluşturun - başlangıç ​​koşulları

Başlamadan önce, PHP'de bir dosya ayrıştırıcı oluşturduğum ve ardından uygulanan seçeneklerden en uygun olanı seçtiğim görev hakkında birkaç kelime.

Bir keresinde işte bir sorunum vardı, bu da veritabanının kullanıcıların telefon numaralarını yanlış biçimde kaydetmesinden ibaretti. Tabii ki, hatayı sorunsuz bir şekilde düzelttim.

Ancak, o sırada veritabanında zaten depolanmış olan yanlış bilgilerle ne yapmalı? Doğal olarak, doğru olanla değiştirilmesi gerekiyordu.

Bunun için bana verildi Metin dosyası veritabanına aktarılması gereken kullanıcı kimlikleri ve telefonları ile.

Söylemeliyim ki, oldukça ağır olduğu ortaya çıktı: her biri bir kullanıcı kimliği ve telefonunu içeren 352 KB ve 8223 satır metin user_id: phone_number.

Tek kelimeyle, tüm görev, araçları kullanarak PHP dosyasını satır satır okumak, dizeden tanımlayıcıyı ve telefon numarasını çıkarmak ve ardından kimlik uzmanı tarafından bulunan veritabanındaki kullanıcının telefon değerini güncellemekti.

Projem PHP çerçevesi Yii üzerinde uygulandı, bu nedenle, diğer kod örneklerinde, özellikle veritabanı ile çalışmak için API'sinin unsurlarını bulacaksınız, bu yüzden alarma geçmeyin 🙂

İnternette mevcut olan yapıları ve diğer geliştiricilerin deneyimlerini yavaş yavaş analiz ettikten sonra, size daha fazla göstereceğim 4 yöntemi tanımlayabildim.

Peki, bundan sonra size hangi kriterlere göre ve aralarından en iyi seçeneği tam olarak nasıl seçtiğimi anlatacağım. Ve tabi ki sonuçları paylaşacağım 🙂

Bu yüzden bu makale sabır konusunda mükemmel bir eğitimdir 🙂 Özü, sonunda sizi bekleyen sonuçlara kadar aşağıdaki materyalin ayrıntılı bir çalışmasında olacaktır. Bu arada, ideal seçeneğin tam olarak nasıl seçileceğini varsayarak fanteziniz üzerinde de çalışabilirsiniz.

PHP'deki bir dosyayı fgets () ile satır satır okuma

Sonuç olarak, bu algoritmayı uygulayan PHP dosya ayrıştırıcısı aşağıdaki formu aldım:

find ("unique_id IN (: id1,: id2)", dizi (": id1" => strtolower ($ params), ": id2" => strtoupper ($ params))); if ($ müşteri) ($ müşteri-> telefon = str_replace (dizi ("\ r", "\ n"), "", $ params); $ müşteri-> kaydet ();)))) if (! feof ($ fh)) (echo "Hata: beklenmeyen fgets () fail \ n";) fclose ($ fh); ) else echo "Dosya adını kontrol edin, dosya yok";)

Birisi anlamakta güçlük çekiyorsa, yazımı biraz deşifre edeceğim.

En başta, değişken $ dosya adı ayrıştırılacak dosyanın adının değeri, tam yolu ile atanır. Bunu PHP bir dosyanın varlığını ve işlevler kullanılarak okunabilir olup olmadığını kontrol eder. dosya var () ve okunabilir () sırasıyla.

Her şey yolundaysa, işlevi kullanarak dosyayı açın fopen () Bu işlev tarafından üretilen hata çıktısını devre dışı bırakmak için PHP hata kontrol ifadesi ile çağrılır. Standart olanın yerine kendi hata mesajımı oluşturmak için kullanmaya karar verdim.

Eğer dosya açılabiliyorsa dosya bitene kadar bir döngü içerisinde tüm satırlarından geçiyoruz ve eğer satır boş değilse fonksiyon ile iki nokta üst üste karakteri ile ayırıyoruz. patlatmak ().

Daha sonra kullanıcının kimliğinin ve telefonunun boş olmadığını kontrol ediyoruz, kimlik uzmanı tarafından veritabanında kullanıcıyı arıyoruz ve varsa hecelemeyi ve yeni bir satırın başlangıcını ekrandan kaldırarak telefon numarasını güncelliyoruz. sayı değeri.

Ben de PHP fonksiyonlarını kullandım. daha düşük () ve strtoupper () farklı kayıtlara yazılabilen tanımlayıcılarla veritabanında bir kullanıcının varlığını kontrol etmek, çünkü benim durumumda bunlar sembollerden ve sayılardan oluşuyordu.

PHP, file() kullanarak bir dosyayı bir diziye ayrıştırıyor

PHP'de bir dosyayı okumanın bu yöntemi, işlevin kullanıldığını varsayar. dosya () bu dosyayı açar ve içeriğini bir diziye yerleştirir. Bu durumda, dizinin elemanları sadece okunmakta olan dosyanın satırları olacak, ki bu benim durumumda harika.

PHP dosya ayrıştırıcısının bu sürümünün kodu aşağıdaki gibidir:

find ("unique_id IN (: id,: id2)", dizi (": id" => strtolower ($ params), ": id2" => strtoupper ($ params))); if ($ client) ($ client-> phone = str_replace (dizi ("\ r", "\ n"), "", $params); $ client->

Gördüğünüz gibi, bu, PHP'de bir dosyayı yalnızca başlangıcında, dosyanın açıldığı ve işlev tarafından hemen okunduğu önceki okuma yönteminden farklıdır. dosya () bir demet yerine fopen() + fgets() eskisi gibi.

PHP fread () kullanarak değişkene dosya okuma

Bir dosyayı ayrıştırmak için başka bir PHP işlevi korku () belirtilen uzunluktaki bir dosyanın çeşitli parçalarını okuyabileceğiniz . PHP'deki tüm dosyayı okumak için, işlev kullanılarak elde edilen dosya boyutunu belirledim. Dosya boyutu ():

find ("unique_id IN (: id1,: id2)", dizi (": id1" => strtolower ($ params), ": id2" => strtoupper ($ params))); if ($ client) ($ client-> phone = str_replace (dizi ("\ r", "\ n"), "", $params); $ client-> save (;))))) else echo " Dosya adını kontrol edin, dosya "t yok!";)

Bir PHP dosyasını araçlar kullanarak okumanın bu yolu, aslında, öncekine çok benzer, çünkü PHP kullanılmasına rağmen, dosyadaki veriler başlangıçta bir diziye değil, bir dize değişkenine okunur, daha sonra beri hala bir diziye dönüştürülür bir dize ile çalışmak daha kolaydır.

PHP'de bir dizgiyi diziye dönüştürmenin en kolay yolu, bugün zaten kullanılan ve satır başlangıç ​​karakterinin ayırıcı olarak geçirildiği patlatma () işlevini kullanmaktır.

file_get_contents () temelinde PHP dosya ayrıştırıcısı oluşturun

Sonunda, işlevi kullanarak PHP dosya ayrıştırmayı uygulamaya karar verdim. file_get_contents () yalnızca tüm dosyayı bir dizgeye okuması amaçlanan , yani. pratik olarak çalışır fread ($ fp, dosya boyutu ($ dosya adı)).

file_get_contents() öğesinin dosyayı bağımsız olarak açması ve okuması dışında, fread() işlevini kullanırken önce dosyayı fopen() aracılığıyla açmanız ve daha sonra kullanmak için işaretçisini almanız gerekir.

Genel olarak, file_get_contents () tabanlı PHP dosya ayrıştırıcı kodu, önceki durumdakiyle hemen hemen aynı olacaktır:

find ("unique_id IN (: id1,: id2)", dizi (": id1" => strtolower ($ params), ": id2" => strtoupper ($ params))); if ($ client) ($ client-> phone = str_replace (dizi ("\ r", "\ n"), "", $params); $ client-> save (;))))) else echo " Dosya adını kontrol edin, dosya "t yok!";)

Bu kadar. Listelenen tüm seçeneklerin performansını değerlendirmenin ve daha fazla kullanım için hangi PHP dosya ayrıştırıcısının en uygun olduğunu bulmanın zamanı geldi.

PHP'de dosyaları işlemenin en iyi yolu nedir?

Bulunan seçeneklerden en uygun olanı seçmek için, yani. en hızlı, her durumda tanımlamaya karar verdim. Bunu yapmak için, bağlantıdaki makalede açıklanan tekniği kullandım.

PHP'nin dosyaları okumak için işlevleri kendi başlarına yeterince hızlıdır, bu nedenle, çalışma süreleri için en azından az ya da çok somut rakamlar elde etmek için, test edilen parçalarda, hepsinde aynı olan veritabanı ile işlemleri özel olarak bıraktım. vakalar.

Kolaylık sağlamak için, PHP betiğinin çalışma süresini üçüncü ondalık basamağa yuvarlamaya da karar verdim, yani. saniyenin binde birine kadar (aslında, kendinizi yüzlerce ile sınırlayabilirsiniz).

Okuldayken bilimsel çalışmamı fizikte yazdığımı hatırlıyorum (evet öyle bir deneyim oldu 🙂), üniversite hocaları önünde bunu savunurken sürekli deney sayısı yetersiz diye eleştirildim (3 deney yaptım. her vaka). "Bilimin aydınlatıcıları", farklı durumları karşılaştırmak için 100 sayıları veya en az 10 deneyi çağırdı, böylece bir tür karşılaştırma yapabilir ve birinin diğerine kazara üstünlüğü olasılığını en aza indirebilirdi.

Evet, o zaman onlardan çok zorlandım, ancak tavsiyelerini iyi öğrendim, o zamandan beri 10 yıldan fazla olmasına rağmen şimdi bile hatırlıyorum. Ayrıca, bu öneriler gerçekten matematiksel istatistik yasalarına ve olasılık teorisine dayanıyordu.

Bu makaledeki mevcut deneylerimde bilimsel gibi davranmıyorum, bu yüzden 100 deneyin sayısını çok fazla buldum ve bunları gerçekleştirme süreci çok sıkıcıydı.

Sonuç olarak, PHP dosya ayrıştırıcısının her sürümü için kendimi 10 deneyle sınırlamaya karar verdim, sonuçta ortaya çıktığı gibi, herhangi bir gerçek ve ipucu manipülasyonu olmadan net bir lider seçmek için oldukça yeterli olduğu ortaya çıktı. bir saniyenin yüzde biri ve binde biri üstünlük.

Geliştirdiğim PHP dosya ayrıştırıcılarının çalışma sürelerini hesaplama sonuçları aşağıdaki tabloda sunulmakta ve üzerinde çalıştıkları PHP fonksiyonlarına göre sıralanmaktadır.

Deney fget'ler () dosya () korku () file_get_contents ()
1 9,147 9,722 10,539 2,008
2 8,950 9,006 9,495 1,733
3 8,821 8,845 9,207 1,642
4 8,717 8,876 8,931 1,758
5 9,010 9,091 8,703 1,635
6 9,110 8,640 9,712 1,633
7 9,074 9,626 9,13 1,645
8 8,886 9,204 9,048 1,701
9 8,667 8,918 9,438 1,713
10 8,852 9,197 9,537 1,567
Ortalama 8,923 9,113 9,374 1,704

Gördüğünüz gibi 10 deneyin her birinde script yürütme sürelerine ek olarak hastane için ortalama sıcaklığı hesaplamaya karar verdim 🙂

Yani, liderin tanımlanabilmesi için her PHP dosya ayrıştırıcısının aritmetik ortalama çalışma süresi.

Ve gördüğünüz gibi, işlev temelinde uygulanan son seçenek olduğu ortaya çıktı. file_get_contents (), dosyanın içeriğini bir diziye dönüştürmesi ve bir döngüde işlenmesiyle bir dize değişkenine okur.

PHP dosya ayrıştırıcılarının diğer tüm çeşitleri yaklaşık olarak aynı hızda çalışır.

Dürüst olmak gerekirse, neden rakiplerini geride bıraktığına dair en ufak bir fikrim yok. Yalnızca bir dosyayı kullanarak bir dizgeye okuma işleminin file_get_contents () kullanarak bitmiş bir dizi dizi oluşturmaktan daha az kaynak gerektirir dosya ().

Ve fgets () ve fread () üzerindeki üstünlük, bunları kullanmadan önce fopen () ile zaman alan bir dosya açmanız gerektiği gerçeğine bağlanabilir.

Evet, aslında önemli değil, çünkü sayılar kendileri için konuşur: işlevin kullanımı sayesinde file_get_contents () Buna dayalı PHP dosya ayrıştırıcı diğerlerinden 5 kat daha hızlı çalışıyor, bu da onu pratikte kullanma kararımı etkiledi.

PHP'de bir dosyayı ayrıştırma - sonuçlar

Başta da söylediğim gibi, deneylerim kusursuz değil ve yalnızca derslerinde elde edilen sonuçlara güvenmeye değmez, çünkü hıza rağmen file_get_contents () benim durumumda, sağladığım diğer PHP dosya ayrıştırıcılarını kullanmanın çok daha uygun ve verimli olduğu zamanlar vardır.

Ayrıca, PHP'nin kendisinin senkron bir programlama dili olduğunu unutmayın, yani. tüm sunucu işlemleri, sunucu işlemcisinin farklı çekirdekleri de dahil olmak üzere, paralel yürütmelerini yapılandırma olasılığı olmadan sırayla gerçekleşir.

Sonuç olarak, PHP kodunda yazılan işlemlerin yürütme süresi, aralarında ana faktörün PHP uygulaması sırasında çekirdek üzerindeki yük olduğu bir dizi faktörden etkilenebilir.

Bunu özellikle deneyler sırasında hissettim, aynı PHP dosya ayrıştırıcısı ikinci durumda Windows Gezgini'nin banal başlatılması nedeniyle 9'da, sonra 12'de ve sonra tekrar 9 saniyede üç ardışık yinelemede çalıştığında, tabii ki , ayrıca sunucu kaynakları gerektirir.

Bu özellikleri göz önünde bulundurarak, sunucu donanımının kaynaklarını püskürtmemek için aynı çalışan program setiyle neredeyse aynı anda, birbiri ardına deneyler yaptım.

Bu nedenle, gelecekte PHP yapıları ile benzer deneyler yaparken aynı şekilde ilerleyin, çünkü aslında, deneyleri düz bir oyun alanına getirmenin tek yolu budur.

Eşzamansız sunucu tarafı dilleri (C#, Java) veya teknolojiler (örneğin Node.js) ile çalışacaksanız, mümkünse, özel bir işlemci çekirdeği üzerinde çalışacak deneme için ayrı bir iş parçacığı oluşturun.

Peki, tamamen kullanılmayan bir çekirdek bulamazsanız (ki bu modern yazılım düzeyinde şaşırtıcı değildir), o zaman en azından en az yüklü olanı veya en azından zamanla değişmeyen statik bir yük ile bulabilirsiniz.

Özetle, makalede verilen kod parçacıklarının sadece PHP'deki metin dosyalarını ayrıştırmak için değil, aynı zamanda CSV dosyalarını ayrıştırmak gibi diğer formatlar için de mükemmel kullanılabileceğini söylemek istiyorum.

Olumlu ve olumsuz görüşlerinizi makalenin altındaki yorumlara yazın - Daha fazla gelişme için görüşlerinize ihtiyacım var 🙂

Bir sonrakine kadar! 🙂

not: Bir siteye ihtiyacınız varsa veya mevcut bir sitede düzenlemeler yapmanız gerekiyorsa, ancak bunun için zaman ve istek yoksa, hizmetlerimi sunabilirim.

5 yıldan fazla deneyim profesyonel web sitesi geliştirme. ile çalışmak PHP, Opencart, WordPress, laravel, yii, MySQL, PostgreSQL, JavaScript, Tepki, Açısal ve diğer web geliştirme teknolojileri.

Çeşitli seviyelerde proje geliştirme deneyimi: açılış sayfaları, kurumsal siteler, Çevrimiçi mağazalar, CRM, portallar... Destek ve geliştirme dahil Yüksek Yük projeleri... Başvurularınızı e-posta ile gönderin [e-posta korumalı].

Her satır beslemesinden önce HTML satır sonu kodu ekler

  • number_format - Bir sayıyı ayrı gruplarla biçimlendirir
  • ord - Karakterin ASCII kodunu döndürür
  • parse_str - Bir dizeyi değişkenlere ayrıştırır
  • print - Bir dize yazdırır
  • baskı
  • quoted_printable_decode - Alıntılanan yazdırılabilir kodlanmış bir dizenin kodunu çözer
  • alıntımeta - Özel karakterlerden kaçar
  • rtrim - Satır sonundaki boşlukları kaldırır
  • sha1 - Dizenin SHA1 karmasını döndürür
  • sha1_file - Dosyanın SHA1 karmasını döndürür
  • benzer_metin - İki dizenin benzerliğini hesaplar
  • soundex - Bir dizgenin soundex anahtarını döndürür
  • sprintf
  • sscanf - Bir dizeyi belirli bir biçime göre ayrıştırır
  • strcasecmp - Büyük/küçük harfe duyarsız dize karşılaştırması, ikili kasa
  • strcmp - İkili güvenli dize karşılaştırması
  • strcoll - Geçerli yerel ayara göre dizeleri karşılaştır
  • strcspn - Maskeyle eşleşmeyen satırın başındaki parçanın uzunluğunu döndürür
  • stripcslashes - addcslashes () tarafından üretilen karakter kaçmasını kaldırır
  • stripos - Bir alt dizenin ilk oluşumunun büyük/küçük harfe duyarlı olmayan konumunu döndürür
  • stripslashes - Çıkan şerit çizgilerini () kaldırır
  • strip_tags - Bir dizgeden HTML ve PHP etiketlerini çıkarır
  • stristr - strstr'ye benzer, ancak büyük/küçük harfe duyarlı değildir
  • strlen - Bir dizgenin uzunluğunu döndürür
  • strnatcasecmp - Bir algoritma kullanarak büyük/küçük harfe duyarsız dize karşılaştırması
  • strnatcmp - "Doğal sıralama" algoritmasını kullanarak dizelerin karşılaştırılması
  • strncasecmp
  • strncmp - Dizelerin ilk n karakterinin büyük/küçük harfe duyarlı olmayan karşılaştırması, ikili veriler için güvenli
  • strpos - Bir dizede bir alt dizenin ilk oluşumunu bulur
  • strrchr
  • strrev - Dizeyi ters çevir
  • strripos - Büyük/küçük harfe duyarlı olmayan bir alt dizenin son oluşumunun konumunu döndürür
  • strrpos - Bir karakterin bir dizgedeki son örneğini bulur
  • strspn - Maskeyle eşleşen satırın başlangıcındaki parçanın uzunluğunu döndürür
  • strstr - Bir alt dizenin ilk oluşumunu bulur
  • strtok - Bir dizeyi böler
  • strtolower - Dizeyi küçük harfe çevir
  • strtoupper - Bir dizeyi büyük harfe dönüştürür
  • strtr - Verilen karakterleri dönüştürür
  • str_ireplace - str_replace() öğesinin büyük/küçük harf duyarlı olmayan sürümü.
  • str_pad - Bir dizeyi başka bir dizeyle belirtilen uzunlukta doldurma
  • str_repeat - Yinelenen bir dize döndürür
  • str_replace - Arama dizesini yeni bir dizeyle değiştirir
  • str_rot13 - Bir dizgede ROT13 dönüşümü gerçekleştirir
  • str_shuffle - Bir dizgedeki karakterleri karıştır
  • str_split - Bir dizeyi diziye dönüştürür
  • str_word_count - Bir dizgede bulunan kelimeler hakkında bilgi verir
  • substr - İşlev, bir dizenin bir bölümünü döndürür
  • substr_count - Bir dizede bir alt dizenin oluşum sayısını sayar
  • substr_replace - Bir dizgenin bir kısmını değiştirir
  • trim - Bir dizenin başındaki ve sonundaki boşlukları kaldırır
  • ucfirst - Bir dizenin ilk karakterini büyük harfe dönüştürür
  • ucwords - Bir dizedeki her kelimenin ilk karakterini büyük harfe dönüştürür
  • vprintf - Biçimlendirilmiş bir dize yazdırır
  • vsprintf - Biçimlendirilmiş bir dize döndürür
  • wordwrap - Satır sonu karakterini kullanarak belirli sayıda karakter için satır sonu gerçekleştirir
  • Dizelere uygulanan karşılaştırma operatörlerinin özellikleri.

    $ bir = 1; // Bir numara. $ sıfır = 0; // Sayıyı sıfıra ayarla. if ($ bir == "") echo 1; // Açıkça eşit değil - 1 çıktısı vermez if ($ zero == "") echo 2; //* Dikkat! Beklentilerin aksine 2 yazdırıyor! if ("" == $ sıfır) echo 3; // * Bu da işe yaramaz - yazdırır! .. if ("$ zero" == "") echo 4; // Bu doğru. if (strval ($ sıfır) == "") echo 5; // Bu da doğrudur - 5 çıktısı vermez if ($ zero === "") echo 6; // En iyi yol, ancak PHP 3'te geçerli değil.

    kesmek ()

    Chop () işlevi, sondaki boşluktan ve yeni satırlar kaldırıldıktan sonra bir dize döndürür. Chop() işlevinin sözdizimi şöyledir:

    dize doğrama (dize dize)

    Aşağıdaki örnekte, chop () işlevi fazla yeni satırları kaldırır:

    $ başlık = "İçindekiler \ n \ n"; $ başlık = doğrama ($ başlık); // $ başlık = "İçindekiler"

    str_pad ()

    str_pad () işlevi, bir dizeyi belirtilen karakterlerle belirli bir uzunluğa hizalar ve biçimlendirilmiş bir dize döndürür. str_pad() işlevinin sözdizimi şöyledir:

    string str_pad (string string, int padding_length [, string padding [, int padding_type]])

    İsteğe bağlı dolgu parametresi belirtilmemişse, dize boşluklarla doldurulur. Aksi takdirde, dize belirtilen karakterlerle doldurulur. Varsayılan olarak, satır sağ dolguludur; ancak, dizeyi belirtilen yönde dolduracak olan padding_type parametresinde STR_PAD_RIGHT, STR_PAD_LEFT veya STR_PAD_BOTH iletebilirsiniz. Örnek, varsayılan parametrelerle str_pad () işleviyle bir dize doldurmayı gösterir:

    $ yemek = "salata"; print str_pad ($ food, 5): // "salad" dizesini yazdırır Aşağıdaki örnek, str_pad () işlevine isteğe bağlı parametreler kullanır: $ header =" İçindekiler "; print str_pad ($ header, 5," = + = + = " , STR_PAD_BOTH); // Tarayıcı bir dize görüntüler = + = + = İçindekiler = + = + = "

    kırpmak ()

    trim () işlevi, dizenin her iki ucundaki boşlukları kaldırır ve elde edilen dizeyi döndürür. trim () işlevinin sözdizimi şöyledir:

    dize trimi (dize ülke)

    \ n, \ r, \ t, \ v ve \ 0 özel karakterleri de boşluklardan çıkarılır.

    sınır ()

    lrim () işlevi, dizenin sol kenarındaki tüm boşlukları ve özel karakterleri kaldırır ve elde edilen dizeyi döndürür. ltrim () işlevinin sözdizimi şöyledir:

    string ltrim (string string)

    Bu işlev, trim () ile aynı özel karakterleri kaldırır.

    strlen ()

    Bir dizenin uzunluğunu belirleme

    Bir dizenin karakter cinsinden uzunluğu strlen () işlevi kullanılarak belirlenebilir. strlen() işlevinin sözdizimi şöyledir:

    int strlen (dize dizesi)

    Aşağıdaki örnek, strlen () işleviyle bir dizenin uzunluğunun nasıl belirleneceğini gösterir:

    $ string = "merhaba"; $ uzunluk = strlen ($ dizgi); // $ uzunluk = 5

    İki diziyi karşılaştırma

    İki dizeyi karşılaştırmak, herhangi bir dilde en önemli dize işlemlerinden biridir. Bu görevi gerçekleştirmenin birkaç farklı yolu olmasına rağmen, PHP'nin dört dize karşılaştırma işlevi vardır:

    strcmp ()

    strcmp () işlevi, iki dizeyi büyük/küçük harfe duyarlı bir şekilde karşılaştırır. strcmp () işlevinin sözdizimi int strcmp'dir (string string1, string string2)

    Karşılaştırma tamamlandıktan sonra strcmp (), olası üç değerden birini döndürür:

    • 0 satır1 ve satır2 aynıysa;
    • < 0, если строка1 меньше, чем строка2;
    • > 0, satır2 satır1'den küçükse.

    $ stng1 = "tereyağı"; $ string2 = "tereyağı"; if ((strcmp ($ string1. $ string2)) == 0): print "Dizeler eşdeğerdir!"; endif; // if komutu TRUE değerini döndürür

    strcasecmp ()

    strcasecmp () işlevi, bir istisna dışında, strcmp () işleviyle tamamen aynı şekilde çalışır - karşılaştırma büyük/küçük harfe duyarlı değildir. strcasecmp () işlevinin sözdizimi şöyledir:

    int strcasecmp (dize satırı1, dize satırı2)

    Aşağıdaki kod parçası, iki özdeş dizeyi karşılaştırır:

    $ string1 = "tereyağı"; $ string2 = "Tereyağı"; if ((strcmp ($ string1, $ string2)) == 0): print "Dizeler eşdeğerdir!"; endif; // if komutu TRUE değerini döndürür

    strspn ()

    strspn () işlevi, dize2'de bulunan karakterleri içeren dize1'in ilk bölümünün uzunluğunu döndürür. strspn() işlevinin sözdizimi şöyledir:

    int strspn (dize dizgi1, dizgi dizgi2)

    Aşağıdaki kod parçası, bir parolayı doğrulamak için strspn () işlevinin nasıl kullanıldığını gösterir:

    $ şifre = "12345"; if (strspn ($ parola, "1234567890")! = strlen ($ parola)): print "Parola yalnızca sayılardan oluşamaz!"; son:

    strcspn ()

    strcspn () işlevi, dize2'de olmayan karakterleri içeren dize1'in ilk bölümünün uzunluğunu döndürür. strcspn() işlevinin sözdizimi şöyledir:

    int strcspn (dize dizgi1, dizgi dizgi2)

    Aşağıdaki kod parçası, bir parolayı doğrulamak için strcspn () işlevini kullanır:

    $ şifre = "12345"; if (strcspn ($ parola, "1234567890") == 0): print "Parola yalnızca sayılardan oluşamaz!"; endif;

    Düzenli ifadeler kullanmadan dize verilerini işleme

    Büyük miktarda bilgiyi işlerken, normal ifade işlevleri programın yürütülmesini önemli ölçüde yavaşlatır. Bu işlevler yalnızca, düzenli ifadelerin gerçekten gerekli olduğu nispeten karmaşık dizeleri işlerken kullanılmalıdır. Metin analizi nispeten basit kurallara göre yapılırsa, işlemeyi önemli ölçüde hızlandıran standart PHP işlevlerini kullanabilirsiniz. Bu özelliklerin tümü aşağıda açıklanmıştır.

    strtok ()

    strtok () işlevi, ikinci parametre tarafından belirtilen sınırlayıcılara dayalı olarak dizeyi belirteçlere böler. strtok() işlevinin sözdizimi şöyledir:

    string strtok (string string, string sınırlayıcılar)

    strtok () işlevinin bir tuhaflığı vardır: dizeyi tamamen bölmek için işlev art arda birkaç kez çağrılmalıdır. Bir sonraki çağrıda, işlev dizeden sonraki belirteci çıkarır. Bu durumda, dize parametresi yalnızca bir kez ayarlanır - işlev, dize tamamen belirteçlere ayrıştırılana veya yeni bir dize parametresi ayarlanana kadar dizedeki geçerli konumu izler. Aşağıdaki örnek, bir dizeyi birden çok sınırlayıcıya bölmeyi gösterir:

    $ info = "WJ Gi1more: [e-posta korumalı]| Columbus, Ohio "; // Sınırlayıcılar - iki nokta üst üste (:), boru (|) ve virgül (.) $ Belirteçler =": ​​|, "; $ belirteçlenmiş = strtok ($ bilgi, $ belirteç); // Diziyi yazdır elementler $ tokenized while ($ tokenized): echo "Element = $ tokenized
    "; // Not: sonraki strtok çağrılarında // ilk argüman iletilmez $ tokenized = strtok ($ jetonlar); endwhile; Sonuç: Element = WJGilmore Element = [e-posta korumalı] Eleman = Columbus Elemanı = Ohio

    parse_str ()

    parse_str() işlevi, bir satırdaki çiftleri ayıklar ve geçerli kapsamdaki değişkenlere değerler atar. parse_str() işlevinin sözdizimi şöyledir:

    void parse_str (dize dizesi)

    Parse_str (), özellikle HTML form verilerini veya diğer genişletilmiş bilgileri içeren URL'leri işlerken kullanışlıdır. Aşağıdaki örnek, bir URL üzerinden iletilen bilgileri ayrıştırır. Bir dize, bir köprüde derlenmiş veya bir HTML formuna yazılmış, sayfalar arasında veri aktarmanın standart yoludur:

    $ url = "fname = wj & lname = gilmore & zip = 43210"; parse_str ($ url); // parse_str () yürütüldükten sonra aşağıdaki değişkenler kullanılabilir: // $ fname = "wj": // $ lname = "gilmore"; // $zip = "43210"

    Bu işlev URL'lerle çalışmak üzere tasarlandığından ve işareti (&) karakterini yok sayar.

    patlatmak ()

    Patlama () işlevi, bir dizeyi öğelere böler ve bu öğeleri bir dizi olarak döndürür. patlat () işlevinin sözdizimi şöyledir:

    dizi patlatma (dize sınırlayıcı, dize dize [, int eşik])

    Ayırıcının her bir örneği için bölme gerçekleşir ve alınan parça sayısı isteğe bağlı eşik parametresi ile sınırlandırılabilir.

    Bir dizeyi patlat () işleviyle bölmek aşağıdaki örnekte gösterilmiştir:

    $ info = "wilson | beyzbol | kızılderililer"; $ kullanıcı = patlat ("|", $ bilgi); // $ kullanıcı = "wilson"; // $ kullanıcı = "beyzbol"; // $ kullanıcı = "Hintliler";

    patlat () işlevi, yukarıda açıklanan POSIX split () normal ifade işleviyle hemen hemen aynıdır. Temel fark, parametrelerde normal ifadelerin iletilmesine yalnızca split() çağrılırken izin verilmesidir.

    patlamak ()

    Patlama () bir dizeyi dizi öğelerine bölerse, karşılığı olan implode (), diziyi bir dizede birleştirir. implode () işlevinin söz dizimi şöyledir:

    string implode (dize ayırıcı, dizi parçaları)

    Bir diziden bir dizi oluşturmak aşağıdaki örnekte gösterilmiştir:

    $ ohio_cities = dizi ("Columbus", "Youngstown", "Cleveland", "Cincinnati"); $ city_string = implode ("l", $ ohio_cities); // $ city_string = "Columbus | Youngstown | Cleveland | Cincinnati";

    Implode () bir takma ada sahiptir, join () işlevi.

    şeritler ()

    strpos () işlevi, bir dizede belirtilen alt dizenin ilk örneğini bulur. strpos() işlevinin sözdizimi şöyledir:

    int strpos (dize dizesi, dize alt dizesi [, int ofset])

    İsteğe bağlı ofset parametresi, aramanın başlaması gereken konumu belirtir. Alt dize bulunamazsa, strpos () YANLIŞ (0) döndürür.

    Aşağıdaki örnek, bir günlük dosyasındaki bir tarihin ilk oluşumunun konumunu belirler:

    $ log = "206.169.23.11:/www/:2000-08-10 206.169.23.11:/www/logs/:2000-02-04 206.169.23.11:/www/img/:1999-01-31"; // 1999 ilk kez dergide hangi pozisyonda görünüyor? $ konum = strpos ($ günlük, "1999"); // $ pos = 95. çünkü ilk örnek "1999" // $ log değişkeninde bulunan satırın 95. konumunda

    strrpos ()

    strrpos () işlevi, dizede belirtilen karakterin son örneğini bulur. strrpos () işlevinin sözdizimi şöyledir:

    int strpos (dize dizesi, karakter karakteri)

    Yetenekler açısından, bu işlev, tüm dize için değil, yalnızca tek bir karakter için arama yapmanıza izin verdiği için, karşılığı olan strpos () işlevinden daha düşüktür. İkinci parametrede strrpos () öğesine bir dize iletilirse, aramada yalnızca ilk karakter kullanılır.

    str_replace ()

    str_replace () işlevi, belirli bir alt dizenin tüm oluşumları için bir dize arar ve bunları yeni bir alt dizeyle değiştirir. str_replace () işlevinin sözdizimi şöyledir:

    string str_replace (dize alt dizesi, dize değiştirme, dize dizesi)

    Bu bölümün ilerleyen kısımlarında açıklanan substr_replace () işlevi, bir dizenin yalnızca belirli bir bölümünü değiştirmenize olanak tanır. Aşağıda, bir dizgede genel değiştirmeler gerçekleştirmek için str_replace () işlevinin nasıl kullanıldığı gösterilmektedir.

    Alt dize dizede hiçbir zaman oluşmazsa, orijinal dize değişmez:

    $favori_food = "En sevdiğim yiyecekler dondurma ve tavuk kanadı"; $ favori_yemek = str_replace ("tavuk_kanatlar", "pizza", $ favori_yemek); // $ favourite_food = "En sevdiğim yiyecekler dondurma ve pizza"

    strstr ()

    strstr () işlevi, belirli bir alt dizenin ilk oluşumunda başlayan bir dize bölümünü döndürür. strstr() işlevinin sözdizimi şöyledir:

    string strstr (dize dizesi, dize alt dizesi)

    Aşağıdaki örnek, bir URL'den bir alan adı çıkarmak için strstr () işlevini kullanır:

    $ url = "http://www.apress.com"; $ etki alanı - strstr ($ url, "."); // $ alan = ".apress.com"

    alt dizi ()

    substr () işlevi, dizenin belirtilen bir başlangıç ​​konumunda başlayan ve belirli bir uzunluğa sahip olan bölümünü döndürür. substr() işlevinin sözdizimi şöyledir:

    string substr (string string, int start [, int uzunluk])

    İsteğe bağlı parametre uzunluğu belirtilmezse, alt dizenin belirtilen başlangıç ​​konumundan başlayıp dizenin sonuna kadar devam ettiği kabul edilir. Bu özelliği kullanırken dikkate alınması gereken dört şey vardır:

    • start parametresi pozitifse, döndürülen alt dize, verilen sayı ile dizenin konumunda başlar;
    • start parametresi negatifse, döndürülen alt dizi konumunda başlar (dizi uzunluğu - başlangıç);
    • uzunluk pozitifse, başlangıç ​​konumundan başlangıç ​​+ uzunluk'a kadar olan tüm karakterler döndürülen alt dizeye dahil edilir. Son değer dizenin uzunluğunu aşarsa, dizenin sonuna kadar olan karakterler döndürülür;
    • uzunluk negatifse, döndürülen alt dize, dizenin sonundan belirtilen mesafede biter.

    start parametresinin, dizenin ilk karakterinden olan uzaklığı belirttiğini unutmayın; bu nedenle, döndürülen dize aslında numaralandırılmış (start + 1) karakterden başlar.

    Aşağıdaki örnek, substr () işleviyle bir dizenin bir bölümünün seçimini gösterir:

    $ araba = "1944 Ford"; Smodel = substr ($ araba, 6); // Smodel = "Ford"

    Pozitif parametre uzunluğuna sahip örnek:

    $ araba = "1944 Ford"; $ model = substr ($ araba, 0, 4); // $ model = "1944" Negatif parametre uzunluğuna sahip bir örnek: $ araba = "1944 Ford"; $ model = substr ($ araba, 2, -5); // $ model = "44"

    substr_count ()

    substr_count () işlevi, belirli bir dizede bir alt dizenin oluşum sayısını döndürür. substr_count () işlevinin sözdizimi şöyledir: int substr_count (dize dizesi, dize alt dizesi) Aşağıdaki örnekte, substr_count () işlevi ain alt dizesinin oluşum sayısını sayar: $ tng_twist = "Yağmur esas olarak ovalara düşer Ispanya'nın"; $ sayı = substr_count ($ tng_twist, "ain"); // $ sayı = 4

    substr_replace ()

    substr_replace () işlevi, bir dizenin belirli bir konumda başlayan bölümünü değiştirir. İsteğe bağlı parametre uzunluğu belirtilirse, belirtilen uzunluktaki parça değiştirilir; aksi takdirde, değiştirme, değiştirme dizisinin tüm uzunluğu boyunca gerçekleştirilir. substr_replace () işlevinin sözdizimi şöyledir:

    string substr_replace (string string, string değiştirme, int start [, int uzunluk])

    Başlangıç ​​ve uzunluk parametreleri belirli kurallara göre ayarlanır:

    • start parametresi pozitif ise, değiştirme verilen konumdan başlar;
    • start parametresi negatifse, değiştirme konumunda başlar (dize uzunluğu -başlangıç);
    • uzunluk parametresi pozitifse, verilen uzunluktaki parça değiştirilir;
    • uzunluk negatifse, değiştirme konumunda biter (dize uzunluğu -uzunluk).

    substr_replace () ile basit metin değişimi aşağıdaki örnekte gösterilmiştir:

    $ favs = "" favori bağlantıları "; $ name =" Alessia "; //" 0, 0 "parametreleri, değiştirilen parçanın // başladığı ve satırın ilk konumunda bittiği anlamına gelir. $ favoriler - substr_replace ($ favoriler, $ isim , 0, 0); $ favorileri yazdır:

    Sonuç:

    Alessia'nın favori linkleri

    Dizeleri ve dosyaları HTML biçimine veya tam tersine dönüştürün

    Bir dizgiyi veya bütün bir dosyayı bir web tarayıcısında görüntülenmeye uygun bir biçime dönüştürmek (veya tam tersi) ilk bakışta göründüğünden daha kolaydır. PHP'nin bunun için özel işlevleri vardır.

    Metni HTML'ye dönüştürme

    Düz metni hızlı bir şekilde web tarayıcı formatına dönüştürmek çok yaygın bir iştir. Bu bölümde açıklanan işlevler, onu çözmenize yardımcı olacaktır.

    nl2br ()

    nl2br () işlevi, tüm yeni satır karakterlerini (\ n) eşdeğer HTML yapılarıyla değiştirir.

    nl2br() işlevinin sözdizimi şöyledir:

    string nl2br (dize dizisi)

    Yeni satırlar hem görünür (yani, açıkça satıra dahil edilmiş) hem de görünmez (örneğin, düzenleyiciye girilmiş) olabilir. Aşağıdaki örnek, \ n karakterlerini satır sonlarıyla değiştirerek bir metin dizesini HTML biçimine dönüştürür:

    // Editörde görüntülenen metin dizisi. $ text_recipe = "Parti Sosu tarifi: 1 kutu haşlanmış domates 3 yemek kaşığı taze limon suyu Karıştırın, sunucu soğuk."; // Yeni satır karakterlerini şuna çevir
    $ htinl_recipe = nl2br ($ text_recipe) $ html_recipe'in sonraki çıktısı tarayıcıya aşağıdaki HTML metnini gönderir: Parti Sosu tarifi:
    1 kutu haşlanmış domates
    3 yemek kaşığı taze limon suyu
    Birlikte karıştırın, sunucu soğuk.

    htmlentities ()

    htmlentities () işlevi, karakterleri eşdeğer HTML yapılarına dönüştürür. htmlentities işlevinin sözdizimi şöyledir:

    string htmlentities (string string)

    Aşağıdaki örnek, tarayıcıda görüntülenmesi için gerekli dize karakterlerinin değiştirilmesini gerçekleştirir:

    $ user_input = "Cafe Francaise başlıklı yemek kitabı" maliyetleri

    htmlentities () işlevi şu anda yalnızca ISO-8559-1 (ISO-Latin-1) karakterleri için çalışır. Ayrıca, boşlukları beklediğiniz gibi dönüştürmez.

    htmlözel karakterler ()

    htmlspecialchars () işlevi, HTML bağlamında özel anlamı olan bazı karakterleri eşdeğer HTML yapılarıyla değiştirir. htmlspecialchars() işlevinin sözdizimi şöyledir:

    string htmlspecialchars (string string)

    html özel karakter () işlevi şu anda aşağıdaki karakterleri dönüştürür: &, &'ye dönüştürür; "", "'ye dönüştürür; >'e dönüştürür.

    Özellikle, bu özellik, kullanıcıların etkileşimli web uygulamalarında (elektronik forumlar gibi) HTML işaretlemesi girmesini önlemeye yardımcı olur. HTML işaretlemesindeki hatalar, tüm sayfanın hatalı oluşturulmasına neden olabilir. Ancak, bu soruna daha etkili bir çözüm var - strip_tags () işlevini kullanarak etiketleri dizeden tamamen kaldırmak.

    Aşağıdaki örnek, potansiyel olarak tehlikeli karakterlerin htmlspeclalchars () işleviyle kaldırılmasını gösterir:

    $ user_input = "Sadece alamıyorum" PHP'nin ve o muhteşem yemek tariflerinin! "; $ conv_input = htmlspecialchars ($ user_input); // $ conv_input =" Sadece yapabilirim "t<> PHP & amp; o muhteşem yemek tarifleri!"

    htmlspecialchars(), nl2br() ile birlikte kullanılıyorsa, ikincisi htmlspecialchars()'dan sonra çağrılmalıdır. Aksi takdirde yapılar
    nl2br() çağrılarak oluşturulan görünür karakterlere dönüştürülür.

    get_html_translation_table ()

    get_html_translation_table() işlevi, metni HTML eşdeğerlerine dönüştürmek için uygun bir yol sağlar.get_htrril_translation_table() işlevinin söz dizimi şöyledir:

    string get_html_translation_table (int tablosu)

    get_html_translation_table() işlevi, htmlspecialchars () ve htmlentities () standart işlevlerinde kullanılan iki çeviri tablosundan (tablo parametresi tarafından tanımlanır) birini döndürür. Dönüş değeri, metni HTML'ye dönüştürmek için başka bir standart işlev olan strtr () ile birlikte kullanılabilir.

    table parametresi iki değerden birini alır:

    • HTML_ENTITIES;
    • HTML_SPECIALCHARS.

    Aşağıdaki örnek, metni HTML'ye dönüştürürken get_html_translation_table () işlevini kullanır:

    $ string = "İtalya'da La makarna e il piatto piu amato"; $ translate = get_html_translation_table (HTML_ENTITIES); print strtr ($ dizgi, $ tercüme); // Özel karakterler HTML yapılarına dönüştürülür // ve tarayıcıda doğru şekilde oluşturulur.

    Bu arada, array_flip() işlevi, metni ters yönde HTML'ye dönüştürmenize ve orijinal metni geri yüklemenize olanak tanır. Önceki örnekte strtr () sonucunu yazdırmak yerine, onu $ çevrilmiş dize değişkenine atadığımızı varsayalım.

    Aşağıdaki örnekte, orijinal metin array_flip () işlevi tarafından geri yüklenir:

    $ tercüme = dizi_flip ($ tercüme); $ translate_string - "İtalya'da La makarna é il piatto piú amato"; $ orijinal_dizge = strtr ($ çevrilmiş_dizgi, $ tercüme); // $ orijinal_string = "İtalya'da La makarna e il piatto piu amato";

    strtr ()

    strtr () işlevi bir dizeyi çevirir, yani kaynak dizedeki tüm karakterleri hedef dizedeki karşılık gelen karakterlerle değiştirir. strtr() işlevinin sözdizimi şöyledir:

    string strtr (dize dizesi, dize kaynağı, dize hedefi)

    Kaynak ve hedef dizelerin uzunlukları farklıysa, uzun dize, kısa dizeye sığacak şekilde kısaltılır.

    İki parametreli strtr() çağırmak için alternatif bir sözdizimi vardır; bu durumda, ikinci parametre, anahtarları ikame edilmiş alt dizelere ve değerleri ikame edilmiş alt dizelere karşılık gelen bir ilişkisel dizi içerir. Aşağıdaki örnek, HTML etiketlerini XML benzeri yapılarla değiştirir:

    " => "

    ", "" => "

    "); $dizi ="

    PHP Destekli Haberlerde Bugün

    "; print strtr ($ dizgi, $ kaynak); // Dizgiyi yazdır" PHP Destekli Haberlerde Bugün" ?>

    HTML'yi Düz Metne Dönüştürme

    Bazen bir HTML dosyasını düz metne dönüştürmek gerekli hale gelir. Aşağıda açıklanan işlevler bu görevde size yardımcı olacaktır.

    strip_tags ()

    strip_tags () işlevi, bir dizeden tüm HTML ve PHP etiketlerini çıkarır ve içinde yalnızca metin bırakır. strip_tags() işlevinin sözdizimi şöyledir:

    string strip_tags (string string [, string allow_ters])

    İsteğe bağlı allow_tags parametresi, silme işlemi sırasında hangi etiketlerin atlanacağını belirtmenize olanak tanır.

    Aşağıda, strip_tags () işlevini kullanarak bir dizeden tüm HTML etiketlerini çıkarmanın bir örneği verilmiştir:

    $ user_input = "Ben sadece Aşk PHP ve gurme yemek tarifleri! "; $ stripped_input = strip_tags ($ user_input); // $ stripped_input =" PHP ve gurme tarifleri seviyorum! ";

    Aşağıdaki örnek, etiketlerin tümünü değil, yalnızca bazılarını kaldırır:

    $ girdi = "Ben Aşk ile yemek!! "; $ strip_input = strip_tags ($ user_input," "); // $ strip_input =" Seviyorum yemek!!";

    Etiketlerin metinden kaldırılması da fgetss() işleviyle yapılır.

    get_meta_tags()

    get_meta_tags() işlevi metnin dönüştürülmesiyle doğrudan ilgili olmasa da, çok faydalı fonksiyon hangi belirtilmelidir. get_meta_tags() işlevinin sözdizimi şöyledir:

    dizi get_meta_tags (dize dosya adı / url [, int include_path])

    get_meta_tags() işlevi, HTML dosyasında META etiketleri aramak için tasarlanmıştır.

    META etiketleri, öncelikle arama motorları tarafından kullanılan bir sayfa hakkında bilgi içerir. Bu etiketler bir çift etiketin içindedir .... Aşağıdaki kod parçası META etiketlerinin kullanımını gösterir (Liste 8.2'de kullanılacağı için buna example.html diyelim): PHP Tarifler get_meta_tags () işlevi, belge başlığında META ile başlayan etiketleri arar ve etiket adlarını ve bunların adlarını saklar. ilişkisel bir dizideki içerikler. Liste 8.2, bu işlevin example.html dosyasına nasıl uygulandığını gösterir. Liste 8.2. get_meta_tags () işlevini kullanarak META etiketlerini HTML dosyasından çıkarma

    $ meta_tags = get_meta_tags ("example.html"): // $ meta_tags değişkeni aşağıdaki bilgileri içeren bir dizi içerir: // $ meta_tags ["keywords"] = "PHP, kod, tarifler, web" // $ meta_tags [ "açıklama" ] = "PHP Bilgisi" // $ meta_tags ["yazar"] = "KDG";

    İlginç bir detay: META etiketlerinin verileri yalnızca sunucuda bulunan dosyalardan değil, diğer URL'lerden de çıkarılabilir.

    Dizeyi büyük ve küçük harfe dönüştür

    PHP'nin bir dizgenin büyük/küçük harf durumunu değiştirmek için dört işlevi vardır:

    daha düşük ()

    strtolower () işlevi, bir dizedeki tüm alfabetik karakterleri küçük harfe dönüştürür. strtolower() işlevinin sözdizimi şöyledir:

    string strtolower (string string)

    Alfabetik olmayan karakterler işlev tarafından değiştirilmez. Bir dizgiyi strtolower() işleviyle küçük harfe dönüştürmek aşağıdaki örnekte gösterilmiştir:

    $ cümle = "PİŞİRME ve PROGRAMLAMA PHP İKİ favorimdir!"; $ cümle = strtolower ($ cümle); // İşlev çağrısından sonra, $ cümlesi // "php'yi pişirmek ve programlamak benim en sevdiğim iki şeydir!" dizesini içerir.

    strtoupper ()

    Dizeler yalnızca küçük harfe değil, büyük harfe de dönüştürülebilir. Dönüştürme, aşağıdaki sözdizimine sahip olan strtoupper () işlevi tarafından gerçekleştirilir:

    string strtoupper (string string)

    Alfabetik olmayan karakterler işlev tarafından değiştirilmez. Bir dizgiyi strtoupper() işleviyle büyük harfe dönüştürmek aşağıdaki örnekte gösterilmiştir:

    $ cümle = "PHP'yi pişirmek ve programlamak benim iki favorim!"; $ cümle = strtoupper ($ cümle); // Fonksiyonu çağırdıktan sonra, $ cümlesi // "PHP'İ PİŞİRMEK VE PROGRAMLAMAK İKİ FAVORİMİDİR!"

    ucfirst ()

    ucfirst () işlevi, alfabetik bir karakter olması koşuluyla, bir dizenin ilk karakterini büyük harfe dönüştürür. ucfirst() işlevinin sözdizimi şöyledir:

    string ucfirst (string string)

    Alfabetik olmayan karakterler işlev tarafından değiştirilmez. Bir dizenin ilk karakterinin ucfirst () işleviyle dönüştürülmesi aşağıdaki örnekte gösterilmiştir:

    & cümle = "PHP'yi pişirmek ve programlamak benim en sevdiğim iki şey!"; $ cümle = ucfirst ($ cümle); // Fonksiyonu çağırdıktan sonra $ cümlesi // "PHP'yi pişirmek ve programlamak benim iki favorim!"

    iki kelime ()

    ucwords () işlevi, bir dizedeki her kelimenin ilk harfini büyük harfe dönüştürür. ucwords() işlevinin sözdizimi şöyledir:

    string ucwords (string string ")

    Alfabetik olmayan karakterler işlev tarafından değiştirilmez. Bir "kelime", dizenin geri kalanından boşluklarla ayrılmış bir karakter dizisi olarak tanımlanır. Aşağıdaki örnek, kelimelerin ilk karakterlerinin ucwords () işlevini kullanarak dönüştürülmesini gösterir:

    $ cümle = "PHP'yi pişirmek ve programlamak benim iki favorim!"; $ cümle = ucwords ($ cümle); // Fonksiyon çağrısından sonra $ cümlesi // "Aşçılık ve Programlama PHP Benim İki Favorimdir!" satırını içerir.

    strrchr ()

    strrchr ("string", "o") - Bir alt dizenin son tekrarını bulur

    Alt dize bulunamazsa YANLIŞ döndürür.

    strchr()'den farklı olarak, arama dizesi birden fazla karakter içeriyorsa, yalnızca ilk karakter kullanılır.

    İkinci parametre bir dize değilse, bir tamsayıya dönüştürülür ve bir karakter kodu olarak kabul edilir.

    // $ PATH dizininden son dizini al $ dir = substr (strrchr ($ PATH, ":"), 1); // son satır beslemesinden sonraki her şeyi al $ text = "Satır 1 \ nSatır 2 \ nSatır 3"; $ last = substr (strrchr ($ metin, 10), 1);

    vurgu_dizesi ()

    Highlight_string - bir dizenin sözdizimi vurgulaması.

    karışık vurgu_dizesi (string str [, bool dönüş])

    Highlight_string () işlevi, PHP'nin satır içi sözdizimi vurgulamasında tanımlanan renkleri kullanarak str'nin sözdizimi renkli sürümünü çıkarır.

    İkinci dönüş parametresi DOĞRU ise, vurgu_dizesi (), renklendirilmiş kod sürümünü yazdırmak yerine bir dize olarak döndürür. İkinci parametre DOĞRU değilse, vurgu_dizesi () başarı durumunda DOĞRU, başarısızlık durumunda YANLIŞ döndürür.

    Not: 1. Dönüş parametresi PHP 4.2.0'dan beri kullanıma sunulmuştur. Bundan önce, varsayılan olarak çalıştı, yani. YANLIŞ.
    2. İşlev Highlight_String (), PHP kodunu etiketlerle ayırt eder. show_source ()- eşanlamlı sözcük vurgu_dosyası ()... Varsayılan vurgu rengini değiştirmek için aşağıdaki PHP yönergelerini kullanın:

    Highlight.bg #FFFFFF vurgu.comment # FF8000 vurgu.default # 0000BB vurgu.html # 000000 vurgu.anahtar kelime # 007700 vurgu.string # DD0000 .htaccess içinde: php_flag vurgu.bg PHP'de #FFFFFF: if (@ini_get ("vurgulama") .bg ") ==" ") ...

    ekler ()

    - Bir dizedeki özel karakterlerden kaçar

    Örneğin, bu dizenin bir veritabanı sorgusunda daha sonra kullanılması için her özel karakterden önce bir ters eğik çizginin (\) eklendiği bir terim döndürür.

    Tek tırnak ("), çift tırnak ("), ters eğik çizgi (\) ve NUL (BOŞ bayt) karakterlerinden çıkar.

    $ str = "Adınız O mu" reilly? "; // çıktılar: Adınız O \" reilly mi? yankı ekler ($ str);

    şeritler

    - Addslashes () işlevi tarafından üretilen karakterlerin kaçan karakterlerini kaldırır. (\ "dönüştürür" vb.). Çift ters eğik çizgi (\\) tek ters eğik çizgiye (\) dönüştürülür.

    sözcük kaydırma ()

    Satır sonu karakterini kullanarak belirli sayıda karakter için satır sonu gerçekleştirir // Wordwrap () kullanma. function alıntı ($ ourText, $ maxlen = 60, $ prefix = ">") ($ st = wordwrap ($ ourText, $ maxlen-strlen ($ önek), "\ n"); $ st = $ prefix.str_replace ( "\ n", "\ n $ prefix", $ st); return $ st;) echo cite ("Tasarladığım ilk Matrix oldukça doğaldı, bir sanat eseriydi - kusursuz, yüce. Anıtsal başarısızlığıyla. Her insanın doğasında var olan kusurluluğun bir sonucu olarak, kıyametinin kaçınılmazlığını şimdi anlıyorum.Böylece, doğanızın değişen tuhaflıklarını daha doğru bir şekilde yansıtmak için onu tarihinize dayanarak yeniden tasarladım. başarısızlıkla yine hüsrana uğradı.", 20);

    > Tasarlanan ilk Matrix I> oldukça> doğal> mükemmeldi, bir> sanat eseriydi -> kusursuz, yüce. > Bir zafer> yalnızca> anıtsal> başarısızlığına eşit. Sonunun>kaçınılmazlığı>,> her> insanda var olan> kusurluluğun> bir sonucu olarak> bana şimdi> görünür. Bu nedenle,>> tarihinize> dayanarak> yeniden tasarladım> doğanızın değişen> tuhaflıklarını> daha doğru bir şekilde yansıtmak için. > Ancak, yine>> başarısızlıktan dolayı> hüsrana uğradım.


    Daha fazla oku:

    Dizeler, web geliştirme sorunlarını çözerken sürekli çalışmanız gereken çok önemli bir veri türüdür. Bu makale PHP geliştiricinizin hayatını kolaylaştıracak çok faydalı 10 numarayı açıklamaktadır.

    Dizeden html etiketlerini otomatik olarak kaldır

    Kullanıcı tarafından doldurulan formları kullanırken bazen gereksiz etiketleri kaldırmanız gerekir. Bu görev, strip_tags() işlevi kullanılarak kolayca çözülebilir:

    $ metin = strip_tags ($ girdi, "");

    $ start ve $ end arasındaki metni alın

    Böyle bir işlev geliştiricinin cephaneliğinde olmalıdır: orijinal dizeyi alır, başlar ve biter ve $ start ve $ end arasındaki metni döndürür.

    GetBetween ($ içerik, $ başlangıç, $ bitiş) ($ r = patlat ($ başlangıç, $ içerik); if (isset ($ r)) ($ r = patlat ($ bitiş, $ r); return $ r; ) dönüş "";)

    Bir URL'yi bir köprüye dönüştürme

    URL'yi bir WordPress blogunda bir yorum formuna koyarsanız, otomatik olarak bir köprüye dönüşür. Aynı işlevi web sitenize veya web uygulamanıza da uygulamak istiyorsanız aşağıdaki kodu kullanabilirsiniz:

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

    Twitter için metni 140 karakter dizisine bölme

    Belki bunu biliyorsun heyecan 140 karaktere kadar olan mesajları kabul eder. Uygulamanızın popüler bir sosyal mesajlaşma sitesiyle etkileşim kurmasını planlıyorsanız, mesajları 140 karaktere indiren bir özellik kesinlikle sizin için doğru olacaktır.

    fonksiyon split_to_chunks ($ to, $ text) ($ total_length = (140 - strlen ($ to)); $ text_arr = patlat ("", $ metin); $ i = 0; $ mesaj = ""; foreach ($ text_arr $ word olarak) (if (strlen ($ mesaj [$ 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'yi dizeden kaldırın

    Birçok kişi, trafik almak veya geri bildirim sağlamak için blog yorumlarında URL'ler bırakır. Bu bağlantılar blogu kirletir ve çok fazla varsa sahibi için sinir bozucu olabilir. Yani bir sonraki fonksiyon çok faydalı olacak!

    $ string = preg_replace ("/ \ b (https? | ftp | dosya): \ / \ / [ [e-posta korumalı]# \ /%? = ~ _ | $!:,.;] * / i "," ", $ string);

    Bir dizeyi bir sümüklü böceklere dönüştürün

    SEO uyumlu bir bilgi (kalıcı bağlantı için) oluşturmanız mı gerekiyor? Aşağıdaki işlev, parametre olarak bir dize alır ve SEO dostu bir bilgi döndürür. Basit ve etkili!

    Fonksiyon bilgisi ($ str) ($ str = strtolower (trim ($ str)); $ str = preg_replace ("/ [^ a-z0-9 -] /", "-", $ str); $ str = preg_replace ("/ - + /", "-", $str); dönüş $str;)

    Bir CSV dosyasını ayrıştırma

    CSV (Coma ile ayrılmış değerler) dosyaları, verileri depolamanın ve aktarmanın kolay bir yoludur ve bu tür dosyaları PHP'de ayrıştırmak son derece kolaydır. Bana inanmıyor musun? Aşağıdaki kod, bir CSV dosyasının işlenmesini gösterir:

    $ fh = fopen ("contacts.csv", "r"); while ($ satır = fgetcsv ($ fh, 1000, ",")) (echo "İletişim: ($ satır)";)

    Başka bir dizede bir dize arayın

    Dize başka bir dizgede bulunuyorsa ve onu bulmanız gerekiyorsa, sorun basitçe çözülür:

    İşlev ($ str, $ içerik, $ yok sayma = doğru) (if ($ yok sayma) ($ str = strtolower ($ str); $ içerik = strtolower ($ içerik);) strpos ($ içerik, $ str)? doğru yanlış;)

    Dizenin belirli bir desenle başladığını kontrol etme

    Java gibi bazı programlama dillerinde, bir dizenin belirli bir kalıpla başlayıp başlamadığını kontrol etmenizi sağlayan startWith yöntemi/işlevi bulunur. Ne yazık ki PHP'nin bu kadar basit bir yerleşik işlevi yoktur.
    Yine de, bunu kendimiz yapabiliriz ve dahası, çok basit:

    İşlev String_Begins_With ($ iğne, $ samanlık) (dönüş (substr ($ samanlık, 0, strlen ($ iğne)) == $ iğne);)

    Vurgulamak dizeden e-posta

    Spam gönderenlerin e-posta adreslerinizi nasıl aldığını hiç merak ettiniz mi? Basit. Bir web sayfası alırlar (örneğin bir forumdan) ve e-posta adreslerini çıkarmak için html kodunu ayrıştırırlar. Aşağıdaki kod, parametre olarak bir dize alır ve içerdiği tüm e-postaları yazdırır. Lütfen bu kodu spam için kullanmayın!

    işlev Extract_emails ($ str) (// Bir dizeden tüm e-postaları çıkaran normal ifade: $ regexp = "/()+\@(()+\.)+((2,4))+/i"; preg_match_all ($ regexp, $ str, $ m); dönüş isset ($ m)? $ m: dizi ();) $ test_string = "Test dizesi ... [e-posta korumalı] Diğer formatları kontrol etme: [e-posta korumalı]; bilgi çubuğu Başka bir kontrol: [e-posta korumalı] test6example.org [e-posta korumalı] [e-posta korumalı]örnek.org [e-posta korumalı]! foo! .org foobar "; print_r (extract_emails ($ test_string));

    Web siteleri statik ve dinamik olarak ikiye ayrılabilir. İnternette güzel bir kartvizit yapmayı mümkün kılan HTML ve CSS'de ustalaştıktan sonra, birçok kişi PHP'de dinamik bir web sitesi nasıl oluşturulacağını düşünür. Aynı zamanda, mizanpaj tasarımcısı artık web programlamayı öğrenmeye başladığını da hesaba katmalıdır: site ile çalışma prensipleri farklı olacaktır. PHP'de yeni başlayan birinin karşılaştığı ilk sorunlardan biri, dizelerle çalışmak, onları okumak ve işlemek.

    PHP'nin çok sayıda yöntem içerdiğini belirtmekte fayda var, bu nedenle bunları bir dize görüntüleme, bir alt dize bulma, alma veya değiştirme, büyük/küçük harf değiştirme ve bir dizenin uzunluğunu döndürme gibi en basit manipülasyonlarla çalışmaya başlamaya değer. Birçok işlev Kiril karakterleriyle iyi çalışmaz. Bu nedenle, tüm örnekler anlaşılır olması için İngilizce olarak yazılmıştır. Kiril dizeleri için aynı işlevler kullanılır, ancak mb_ önekiyle (örneğin, mb_strpos ()). Analogları kullanmadan önce, php.ini'de sadece noktalı virgülü kaldırarak extension = php_mbstring.dll satırının yorumunu kaldırmak gerekir.

    Dize oluşturma ve çıktı

    İyi bilinen dil yapısı yankısını kullanarak dizenin çıktısını ekrana analiz edeceğiz. Programcı satırın çıktısını bir kerede verebilir:

    echo "Bu Yeni Bir Satır"

    veya önce bir değişken oluşturun ve ardından onu görüntüleyin:

    $ str = "Bu Yeni Bir Satır";

    Bir satırda birkaç satırı görüntülemeniz gerekiyorsa, birleştirmelerine başvururlar:

    yankı "Bu". "Yeni". " Astar";

    $str1 = "Bu";

    $str2 = "Yeni";

    $str3 = "Dize";

    yankı $str1. $ str2. $ str3;

    İkinci durumda, ekran görüntülenecektir Bu Yeni Hat... Yankı çağrılırken boşluk hemen eklenebilir:

    yankı $str1. "". $ str2. "". $ str3;

    Bu durumda ekranda "Bu Yeni Bir Hattır" mesajı görüntülenecektir. Birleştirme yalnızca çıktı alırken değil, aynı zamanda bir dize oluştururken de mümkündür:

    $str1 = "Bu";

    $str2 = "Yeni";

    $str3 = "Dize";

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

    yankı $ dizi;

    Echo, hem Kiril hem de Kiril alfabesini görüntüler. Değişkenlerden biri bir sayı içeriyorsa, birleştirme sırasında bu sayı karşılık gelen dizeye dönüştürülür:

    $ toplam = $ ben + $ ben; // şimdi $ toplamı 4 sayısını içeriyor

    yankı $ i. "+" $ ı. "=". $ toplamı;

    Ekran şunu gösterecektir: "2 + 2 = 4".

    Servis sembolleri

    Dizenin ($ string = "Böyle gibi") ile tanımlandığını varsayalım. Ardından kaçış dizilerini güvenle kullanabilirsiniz:

    • \ n satır besleme yapar;
    • \ r şapkayı döndürür;
    • \ "çift tırnaktan kaçar:
      • echo "\" çift \ "tırnak" içeren dize; // "çift" tırnaklı bir dize
    • \ $ dolardan kaçar;
    • \\ ters eğik çizgilerden kaçar.

    Daha birçok dizi var, hepsi resmi PHP belgelerinde bulunabilir.

    Bir alt dizenin ilk oluşumunun konumu nasıl bulunur?

    Diyelim ki basit bir satırımız var:

    Ayrıca isimleri olan iki satırımız var:

    $ isim = "Yemelyan";

    $ başkaAd = "Katherin";

    İlk satırın bu iki ismi içerip içermediğini bulmamız gerekiyor. Bunun için strpos ($ str, $ arama) işlevi kullanılır. Bu dize orijinal $ str içinde yer alıyorsa, aranan alt dize $ aramasının konumunu döndürür. Aksi takdirde, işlev false boole değerini döndürür. Örneğin, strpos ($ string, $ otherName) false döndürür ve strpos ($ string, $ name) bir tamsayı döndürür. Kod şu şekilde olacaktır (konum ekranda görüntülendiğinde bir değişken yazacağız):

    $ string = "Adım Yemelyan ve 27 yaşındayım";

    $ isim = "Yemelyan";

    $ başkaAd = "Katherin";

    echo strpos ($ dize, $ başkaAd); // yanlış yazdıracak

    echo strpos ($ dizgi, $ isim); // alt dizenin ilk oluşumunun konumunu görüntüler

    Lütfen satır numaralandırmasının sıfırdan başladığını, yani bizim durumumuzda son satırın 11 sayısını çıkaracağını unutmayın (boşluklar da sayılır).

    Bir alt dizi ve tuzakların son oluşumunun konumunu bulma

    strpos () işlevi ilk oluşumun konumunu döndürürse, ters strrpos () işlevi alt dizenin son oluşumunu arar.

    Burada numaralandırmanın başlangıcıyla ilgili bazı tuzaklar var. Bu dikkate değer: PHP'de dizelerle çalışmak, karşılaştırmalardaki sınırlamalar nedeniyle karmaşık olabilir. Örneğin, olumsuzlanmış karşılaştırma operatörünü kullanmamak en iyisidir: strpos ($ str, $ search)! = False. PHP'nin herhangi bir sürümünde, böyle bir eşdeğeri olan örnekler doğru çalışmayabilir, çünkü satır numaralandırma sıfırdan başlar ve mantıksal yorumda 0 yanlıştır. Bu aynı zamanda strrpos() işlevi için de geçerlidir.

    Bir alt dizenin oluşum sayısı nasıl bulunur?

    Genellikle bir dizgede bir alt dizginin ilk veya son oluşumunun konumunu değil, bunların toplam sayısını bulmanız gerekir. Bunu yapmak için, en az iki değişkeni işleyen substr_count () işlevini kullanın: substr_count ($ str, $ search). Bir tamsayı döndürür. Arama alanını dizge ile azaltmak gerekirse, işleve iki değişken daha iletilir: sırasıyla dizgenin başı ve sonu. Yani, bu durumda fonksiyon şu şekilde adlandırılır: substr_count ($ str, $ search, $ start, $ end). İşlev, orijinal dize $ str'nin $ start ve $ end arasındaki $ arama alt dizesini arayacaktır. Dize bulunamazsa, işlev sıfır döndürür.

    PHP'de bir dizgenin durumu nasıl değiştirilir: örnekler

    Büyük/küçük harf değişimi genellikle karakter dizilerini karşılaştırmak için kullanılır ve diyelim ki kullanıcı programda en yüce tanrının adını girmelidir, kullanıcının cevabının karşılaştırılacağı "Bir" seçeneği vardır. Girilen metin mevcut metinle eşleşmiyorsa (örneğin, kullanıcı "one" veya "ONE" yazarsa), program true yerine false döndürür. Bunu önlemek için büyük/küçük harf değiştirme işlevi kullanılır. Bu genellikle bir PHP sitesinde etiketler olduğunda kullanılır: "kişisel" ("Kişisel", "kişisel", "KİŞİSEL" vb.) kelimesinin yüzlerce çeşidi yerine yalnızca bir küçük harf etiketi vardır.

    strtolower () işlevi, büyük/küçük harfe değiştirir. Diyelim ki $ catName = "Fluffy" satırı var. strtolower ($ catName) işlevi "fuffy" dizesini döndürür. strtoupper () işlevini kullanarak büyük/küçük harf değiştirebilirsiniz.

    PHP'de bir dizenin uzunluğu nasıl bulunur: işlevlerle çalışma

    Genellikle bir dizenin uzunluğunu bulmak gerekir. Örneğin, PHP'de, bir döngü oluştururken bu tür dizelerle çalışmak gerekli olabilir. Bir dize aramak için, bir sayı - karakter sayısı - döndüren strlen () işlevi kullanılır. Numaralandırma sıfırdan başladığı için son karakterin strlen ($ str) -1 sayısına sahip olacağını unutmayın.

    PHP'de bir alt dize alma ve değiştirme: dizelerle çalışma

    Alt dize, iki veya üç bağımsız değişken alabilen substr () işlevi tarafından alınır: substr ($ str, $ start, $ end). Diyelim ki $ string = "Fluffy cat" dizgemiz var ve ikinci karakterden dördüncü karaktere kadar bir alt dizgi almak istiyoruz. Numaralandırma sıfırdan başladığından, bu alt dizili değişken şöyle görünecektir: $ newString = substr ($ string, 1, 4). $ newString = substr ($ string, 1) girersek, ikinci karakterden sonuncuya (yani, "luffy") alt dizeyi alırız. Bu kod, strlen (): substr ($ string, 1, strlen ($ string)) kullanan tam dize koduyla aynıdır.

    Bir alt dizgiyi değiştirmek için, üç değişken alan str_replace () işlevi kullanılır: str_replace ($ subStr, $ newSub, $ str). Birçok işlevin aksine, str_replace () Kiril karakterleriyle düzgün çalışır ve önek ile karşılığı yoktur. Örnek:

    $ str = "Bugün hava çok kötü!";

    $ newStr = str_replace ("korkunç", "harika", $str); // Bugün hava harika!

    Dizeden sayıya çeviri

    Web programlamayı er ya da geç öğrenen herkes bir diziyi sayıya çevirmek zorundadır. Bunu yapmak için iki benzer işlev kullanılır: intval () ve floatval (), her biri bir değişkeni, $ dizesini kabul eder. Birbirlerinden yalnızca döndürülen veri türünde farklılık gösterirler: intval () bir tamsayı döndürür ve floatval () bir kayan noktalı sayı döndürür.

    Hem intval () hem de floatval () kullanmak için, dize sayılarla başlamalıdır ve bunlar bir sayıya dönüştürülür. Rakamlardan sonra herhangi bir harf dizisi gelirse, bunlar basitçe yok sayılır. Dizenin harflerle başlaması durumunda, işlevin kullanılması sıfır döndürür. İdeal olarak, dize yalnızca sayıları içermelidir.

    Bir sayıyı dizeye dönüştürme

    Sayıları dizgelere çevirmek genellikle gereklidir. Diyelim ki, bir sayının yarısını alıp karesini almanız gerekiyorsa (örneğin, eşitliğin doğru olup olmadığını kontrol edin: 88 x 88 + 33 x 33 = 8833). Bu durumda, sayı içeren bir dize döndüren strval () işlevi kullanılır. Bundan sonra, yeni dizeyle diğer tüm eylemleri gerçekleştirebilirsiniz: değiştir, bir alt dize oluşumunu arama ve diğer işlevler. Gerekirse, dizge yukarıda açıklandığı şekilde tekrar bir sayıya dönüştürülebilir.

    Bu makale, dizelerle ilgili tüm işlevlerin yalnızca küçük bir bölümünü kapsıyordu. Tanımlanmayan işlevlerden bazıları sembollerle çalışır, ancak çoğu özgünlüklerinden dolayı materyale dahil edilmemiştir. Bu işlevlere aşina olmak için, en son bilgileri gösteren resmi PHP belgelerini okumanız gerekir.

    gastroguru 2017