PHP dize fonksiyonları Dring Dize. PHP dizesini kesin: basit yollar

Site, ziyaretçinin kullandığı cihaza bağlı olarak sayfalarında yeterli bir değişiklik içerir. Neredeyse her şey blok ve küçük harflerle ilgili olarak "otomasyon" pes ederse cSS Araçları Ve JavaScript, daha sonra içerik oluştururken ve sunucu tarafı olmadan veritabanlarını kullanırken, yapılması zordur.

Genellikle php üzerinde bir ipi keserken hTML öğesi Düzenin, görünür olan karakter sayısı üzerinde bir sınır vardır, ancak bu özel bir görevdir.

Geleneksel çözüm

En popüler ve sık kullanılan özelliklerden biri SUBSTR (). İki veya üç parametre buna iletilir:

  • kaynak hattı;
  • başlangıç \u200b\u200bpozisyonu ($ iPOS);
  • kesme alt dizisinin uzunluğu ($ ilen).

Son parametre belirtilemez. Yalnızca iki parametre belirtilmişse: Substr () 'nin sonucu, başlangıç \u200b\u200bkonumundan ($ IPOS) kaynak hattın sonuna kadar bir alt diziş olacaktır. Üç parametre iletilirse, PHP dizesini başlangıç \u200b\u200bkonumundan ($ IPOS) belirtilen uzunluğa ($ ilen) keser.

Yalnızca bu işlev vasıtasıyla dizgenin başlangıcını seçin İlk parametre sıfır olduğunda mümkündür. İlk pozisyon negatifse, bir dizgeyi kestiğimiz başlangıç, PHP, karakteri $ iPOS konumuna satırın sonundan sayar. Dizedeki karakterlerin numaralandırılması sıfırdan gerçekleştirilir.

Özel fonksiyon

"Çizgiyi kesin" PHP (geniş bir anlamda) bağlamda (geniş bir anlamda) bağlamda bulunur: her iki tarafta. Tarihsel olarak, bu, önemsiz karakterleri gidermeyi amaçlayan bir trim () işlevidir:

  • boşluklar;
  • hat çevirileri;
  • İade taşıma;
  • tablolama;
  • sıfır sembolleri

dizenin her iki ucunda. Bu, özellikle veritabanları ile birlikte çalışırken, örneğin çoğu zaman birçok boşluk içeren çok aranan bir işlevdir. Patlayin () işlevini kullanırken, dizenin başlangıcından ve sonundan gereksiz karakterler de sıklıkla elde edilir.

Bununla birlikte, tüm geliştiriciler Trim () işlevini tam kuvvetle kullanmaz. Görev için, "String'i kesin" PHP, kaynak satırından elimine edilmesi gereken herhangi bir karakter kümesini belirleyebileceğiniz fonksiyonun ikinci parametresini kullanmayı önerir.

Karakterlerin yalnızca başlangıçtan ve kaynak hattının sonundan çıkarılması önemlidir. Çıkarılabilir karakterlerin maskelerinin ve alt koltukların sırasını değiştirmenin önemlidir.

  • İlk önce bir maske üzerinde php üzerinde bir dize kesme.
  • Sonra diğerinde.
  • Sonra üçüncü.

Bir fonksiyon için uygulama seçenekleri dizisinin bir sonucu olarak, görevi çözmek için gereken şekilde php üzerindeki metni keseriz.

Standart olmayan yöntemler

Dilin küçük harf fonksiyonlarının tüm spektrumunu dikkate almazsanız, fonksiyon çifti patlayabilir () / implode () ve Str_Replace () işlevi, standart olmayan görevleri "kesim" küçük harf bilgileri çözmenize olanak sağlar.

Sonuç mysql sor Her zaman verilen bilgilerin yapısında formüle edilir ve sonuçtaki sonuçların (unsurlar) içeriği her zaman kaynak tarafından belirlenir, yani veritabanını tasarlayan geliştiricidir.

Bu özel bir örnektir, ancak tam olarak soruya cevap verir: PHP'de bir dizi çok fazla dizesi olduğunda nasıl kesilir. TRM () işlevi özeldir ve tarihi, bilgi o kadar fazla olmadığında görevler tarafından tanımlanır, ancak önemsiz karakterler dışında bir şeyi kesmeye gerek yoktur.

Günümüzde, bilgi büyük birimler dolaşır ve kesme çizgisi sadece gerekmez, aynı zamanda irrasyoneldir.

Bileşenlere ayrılma aynı zamanda dizgeyi nasıl kırpma seçeneğidir. PHP otomatik olarak Patlode () göre (), büyük bir metni çeşitli istenen satırlara düşürür. Str_Replace () işlevini uygulamak - yani, bir karakter oluşumunu diğerine değiştirmek - biri benzer bir etki elde edebilir.

İşlenmesi gereken bilgi dinamikleri ve miktarı, öncelikle yeterli bir çözümdür ve bir özel fonksiyonun kullanılması değildir.

Sitenin adaptif düzeni, ziyaretçinin kullandığı cihaza bağlı olarak sayfalarında yeterli bir değişiklik içerir. Neredeyse her şey, CSS ve Javascript ile Blok ve küçük harflerle "otomasyon" için uygunsa, daha sonra içeriğin oluşumunda ve sunucu tarafı olmadan veritabanlarını kullanmak zordur.

Genellikle, HTML düzeninin görünür olan karakter sayısında bir sınır varsa, PHP'de genellikle bir satır keser, ancak bu özel bir görevdir.

Geleneksel çözüm

En popüler ve sık kullanılan özelliklerden biri SUBSTR (). İki veya üç parametre buna iletilir:

    kaynak hattı; Başlangıç \u200b\u200bpozisyonu ($ iPOS); Kesme alt dizisinin uzunluğu ($ ilen).

Son parametre belirtilemez. Yalnızca iki parametre belirtilmişse: Substr () 'nin sonucu, başlangıç \u200b\u200bkonumundan ($ IPOS) kaynak hattın sonuna kadar bir alt diziş olacaktır. Üç parametre iletilirse, PHP dizesini başlangıç \u200b\u200bkonumundan ($ IPOS) belirtilen uzunluğa ($ ilen) keser.

Yalnızca bu işlev vasıtasıyla dizgenin başlangıcını seçin İlk parametre sıfır olduğunda mümkündür. İlk pozisyon negatifse, bir dizgeyi kestiğimiz başlangıç, PHP, karakteri $ iPOS konumuna satırın sonundan sayar. Dizedeki karakterlerin numaralandırılması sıfırdan gerçekleştirilir.

Özel fonksiyon

"Çizgiyi kesin" PHP (geniş bir anlamda) bağlamda (geniş bir anlamda) bağlamda bulunur: her iki tarafta. Tarihsel olarak, bu, önemsiz karakterleri gidermeyi amaçlayan bir trim () işlevidir:

    boşluklar; Hat çevirileri; İade taşıma; tablolama; Sıfır sembolleri

dizenin her iki ucunda. Bu, özellikle veritabanları ile birlikte çalışırken, örneğin çoğu zaman birçok boşluk içeren çok aranan bir işlevdir. Patlayin () işlevini kullanırken, dizenin başlangıcından ve sonundan gereksiz karakterler de sıklıkla elde edilir.

Bununla birlikte, tüm geliştiriciler Trim () işlevini tam kuvvetle kullanmaz. Görev için, "String'i kesin" PHP, kaynak satırından elimine edilmesi gereken herhangi bir karakter kümesini belirleyebileceğiniz fonksiyonun ikinci parametresini kullanmayı önerir.


Karakterlerin yalnızca başlangıçtan ve kaynak hattının sonundan çıkarılması önemlidir. Çıkarılabilir karakterlerin maskelerinin ve alt koltukların sırasını değiştirmenin önemlidir.

    İlk önce bir maske üzerinde php üzerinde bir dize kesme. Sonra diğerinde. Sonra üçüncü.

Bir fonksiyon için uygulama seçenekleri dizisinin bir sonucu olarak, görevi çözmek için gereken şekilde php üzerindeki metni keseriz.

Standart olmayan yöntemler

Dilin küçük harf fonksiyonlarının tüm spektrumunu dikkate almazsanız, fonksiyon çifti patlayabilir () / implode () ve Str_Replace () işlevi, standart olmayan görevleri "kesim" küçük harf bilgileri çözmenize olanak sağlar.


MySQL sorgusunun sonucu, her zaman verilen bilgilerin yapısında formüle edilir ve sonuçların sonuçlarının içeriği (elementler) her zaman kaynak tarafından belirlenir, yani veritabanını tasarlayan geliştiricidir.

Bu özel bir örnektir, ancak tam olarak soruya cevap verir: PHP'de bir dizi çok fazla dizesi olduğunda nasıl kesilir. TRM () işlevi özeldir ve tarihi, bilgi o kadar fazla olmadığında görevler tarafından tanımlanır, ancak önemsiz karakterler dışında bir şeyi kesmeye gerek yoktur.

Günümüzde, bilgi büyük birimler dolaşır ve kesme çizgisi sadece gerekmez, aynı zamanda irrasyoneldir.

Bileşenlere ayrılma aynı zamanda dizgeyi nasıl kırpma seçeneğidir. PHP otomatik olarak Patlode () göre (), büyük bir metni çeşitli istenen satırlara düşürür. Str_Replace () işlevini uygulamak - yani, bir karakter oluşumunu diğerine değiştirmek - biri benzer bir etki elde edebilir.


İşlenmesi gereken bilgi dinamikleri ve miktarı, öncelikle yeterli bir çözümdür ve bir özel fonksiyonun kullanılması değildir.

Site bakım sorunları Ulyanovsk: ICQ # 179104682

Kiril bir dize nasıl kesilir pHP'yi kullanma.

Yerleşim Tarihi Makaleler: 01.06.2014

Ulyanovsk'ta bir sitenin yaratılması, ciddi bir işlevsellik ve veritabanlarıyla etkileşimi çok sık, belirli bir belirli seviyeyi aşmak için belirli bir dizgeyi gerektirir. Bu, örneğin, kullanan veritabanı sunucusu tarafından iletilen karakter sayısını sınırlamak için gerekli olabilir. giriş alanları, Site sayfasında görüntülemek için, satırın sadece bir kısmı (örneğin, listedeki eşit haber duyurularının oluşumunda) ve diğer birçok görev için.

Başlangıç \u200b\u200bprogramcılarının tökezlediği ilk şey - PHP Substr işlevi. Gerçekten dizileri ve sözdizimini düzeltmek için kullanılır. substr.(String, int başlangıç \u200b\u200b[, int uzunluğu]), burada Int Start - String'i kesmeye başlamak istediğiniz başlangıç \u200b\u200bsembolü ve isteğe bağlıdır int uzunluğunu - kesmek istediğiniz karakter sayısı. Bununla birlikte, deneyimsiz bir programcı için, Kiril ile PHP kırpma dizeleri için kullanmaya çalışırken garip görünebilir. Kırpılmış satırın sonunda bir Kiril dize ile alt grubun çalışmasının bir sonucu olarak, bir soru işareti görünebilir veya eşkenar dörtgeninde bir soru işareti, ve bir nedenden ötürü, toplam kesme karakter sayısı kaçının iki katıdır. int uzunluğu parametresinde belirtildi. Neden devam ediyor?

UTF-8'deki Rusça konuşan karakterlerin 2 baytlık bir boyuta sahip olması ve Latince karakterleri sadece 1 bayttır. PHP SUBSTR işlevi, çizgiyi bayt tarafından keser ve sembollerle değil. Dize latin karakterlerden oluşursa, karakter sayısı bayt sayısıyla çakıştığından garip bir şey olmaz. Her karakterin 2 bayt gerektirdiği Kiril ile çalışırken, int uzunluğu parametresi, karakterin "orta ortasına" ulaşabilir ve sonuç olarak, çıktındaki kesme hattının sonunda, bu hastaları göreceğiz. eşkenar romombiyada -Fated soru işareti.

Kiril ile bir satırın bir parçası nasıl kesilir?

Bu sorunun çözümü aslında çok basittir. Kiril karakterleri içeren doğru PHP kırpma dizeleri için PHP fonksiyonunu kullanmanız gerekir IconV_Substr

Sözdizimi işlevi basittir:

iconv_substr (string, int başlangıç \u200b\u200b[, int uzunluğu [, charset]]))

Örnek Bir Rus dil dizgisini, iconv_substr kullanarak UTF-8 kodlaması ile 80 karaktere kadar kesme için:

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

Örnekte sıfır sayısı, 80 karakterin geri sayımının dizenin başlangıcından başladığı anlamına gelir.

İşlev substr. ($ String, $ başlatma, $ uzunluğu), burada $ string metinle bir değişkendir, $ Başlat, sayma başlayan bir karakterdir (ilk karakter 0 için) ve $ uzunluğu seçilen metnin karakterinin sayısıdır. .

$ Metin \u003d "örnek ve metin";

$ First \u003d Substr ($ metin, 0,6); //, 0'dan beri 6 karakter gösterir.
ilk olarak echo $; // "Örnek" olacak.

$ ikinci \u003d substr ($ metin, 8.3); // 8'den beri 3 karakter gösterir.
İkinci olarak yankı; // dışarı çıkacak "ve"
Parametre sayısını (2 haneli) belirtmezseniz, işlev tüm kalan karakterleri çıkarır.

$ Metin \u003d "örnek ve metin";

$ Üçüncü \u003d Substr ($ metin, 8); // 8'den beri tüm karakterleri gösterecek
Echo üçte biri; // "ve metin" çıkacak

MB_SUBSTR PHP işlevini kullanarak Rus metnini kesin

İşlev mb_substr. aynı görevleri yerine getirir substr.Fakat aynı zamanda multibyte kodlamaları kullanabilme yeteneğine de sahiptir. Bu nedenle, Rus metni durumunda yararlı olacaksınız. mb_substr.. Aynı çalışıyor

$ metin \u003d "Metin örneği";

$ first \u003d mb_substr ($ metin, 0.6, "UTF-8"); //, 0'dan beri 6 karakter gösterir.
// dikkat! Kaynak kod kodlamasını belirtin! İÇİNDE bu durum UTF-8.
ilk olarak echo $; // "Örnek" çekildi

$ ikinci \u003d mb_substr ($ metin, 7.6, "UTF-8"); // 7'den beri 6 karakter gösterir.
İkinci olarak yankı; // "Metni" Çekme
Lütfen Kiril (Rusça metin) durumunda, işlevin sonunda kodlamayı belirtmek daha iyidir. Örnekte, en popüler seçenek kullanılır - UTF-8

Metni sonundan kes

Metni sonundan kesmek istiyorsanız, bunu yapmak için, metnin başlatıldığı sembolden beliren bir değişken için negatif bir sayı belirtin.

$ Text \u003d "Sprite ve Fanta";

$ First \u003d Substr ($ metin, -6,5); // 6'dan bu yana 5 karakter gösterir
ilk olarak echo $; // "Fant" olacak

Kırpmasından sonra, metni de bitiririm

Değişkeni metninle kesildikten sonra ek metin ekleyin

$ example \u003d "Metin metin metni";

$ Example \u003d substr ($ örnek, 0,9); //, 0'dan bu yana 9 karakter gösterir.
$ örnek. \u003d "daha fazla ...";
Echo $ örnek; // "Metin metni daha fazla ..."
Versa, başlangıçta kaydı yapmak ve sonra metni kırmak için

$ metin \u003d "amca";

$ example \u003d "George ve Michael";
$ Example \u003d substr ($ örnek, 0,6); //, 0'dan beri 6 karakter gösterir.
$ metin \u003d $ örnek;
Echo $ metin; // "George Amca" olacak

İlk boş metni kesme

$ Text \u003d "Hello World!";
Echo substr ($ metin, 0, stppos ($ metin, "")); // "Merhaba" olacak

PHP'ye göre PHP metin kırpma kelime bitmiş

Fonksiyon kesimi ($ string, $ uzunluk) (
$ String \u003d mb_substr ($ string, 0, $ uzunluk, "UTF-8"); // Tüm kodlamalarla kesin ve çalışın ve kaynak kodlamayı belirtin
$ pozisyon \u003d mb_strrppos ($ string, "", "UTF-8"); // Son alanın konumunun tanımı. Onun üstünde ve kelimeleri paylaşıyor
$ String \u003d mb_substr ($ string, 0, $ pozisyon, "UTF-8"); // değişkeni konumuna göre kesin
$ Dize dönüş;
}

$ Text \u003d "Kuzey Savaşı 1721'de sona erdi";
Yankı kesim ($ metin, 17); // "Northern Savaşı", "Sonlandırılmış" kelimesinin bir parçası olmadan çekin

Bir dizi içindeki kelimelere göre düzeltebilirsiniz ...

$ Text \u003d "Microsoft, 1975'te Bill Gates tarafından kuruldu.";

$ Array \u003d patlayabilir ("", $ metin); // dizgiyi bir diziye geri dönüştürün
$ array \u003d array_slice ($ dizi, 0.5); // İlk 5 kelime öğesini seçin
$ newtext \u003d impled ("", $ dizi); // dizgiye tekrar geri dönüşüm

Echo $ newtext; // çekilmiş "Microsoft, Bill Gates tarafından kuruldu"