Nasıl yazmak PHP üst veya alt olup olmadığını kontrol etmek için?

8 Cevap php

Ben UTF-8 de Aksan karakterleri ile metinleri var ve bu metnin ilk harfi büyük harf veya küçük harf olup olmadığını kontrol etmek istiyorum. Bunun nasıl?

8 Cevap

function starts_with_upper($str) {
    $chr = mb_substr ($str, 0, 1, "UTF-8");
    return mb_strtolower($chr, "UTF-8") != $chr;
}

Mb_substr doğru ilk karakteri izole etmek için gerekli olduğuna dikkat edin.

Denediniz mi?

$str = 'the text to test';
if($str{0} === strtoupper($str{0})) {
   echo 'yepp, its uppercase';
}
else{
   echo 'nope, its not upper case';
}

PHP ctype_upper gibi ctype aile sağlar unutmayın.

You have to set the locale correctly via setLocale() first to get it to work with UTF-8.
See the comment on ctype_alpha for instance.

Kullanımı:

if ( ctype_upper( $str[0] )) {
    // deal with 1st char of $str is uppercase
}

Ne sadece hakkında:

if (ucfirst($string) == $string) {dosomething();}

Ben numaraları ve diğerleri bir üst karakter olmak istemiyordu, bu yüzden kullanın:

if(preg_match('/[A-Z]$/',$char)==true)
{
   // this must be an upper char
   echo $char
}

Kohana 2 otomatik yükleyici fonksiyonunda kullanıldığı gibi:

echo $char < 'a' ? 'uppercase' : 'lowercase';

Bir dize karakter tamsayı artığını zaman kendi ASCII sayısına değerlendirir. Eğer ASCII tablosundaki Bildiğiniz gibi ilk önce bazı kontrol karakterleri ve diğerleri vardır. Sonra Latin alfabesinden büyük harf. Ve sonra Latin alfabesinden küçük harfler. Böylece kolayca bir mektup kod küçük latin karakteri daha küçük veya daha büyük olup olmadığını kontrol a. Olabilir

BTW Bu etrafında iki kat hızlı, düzenli ifadeler ile bir çözüm daha.

Güzel bir işlevi bunu istiyorum, ben bu kullandım:

function _is_upper ($in_string)
{
    return($in_string === strtoupper($in_string) ? true : false);
}

Sonra sadece diyoruz ..

if (_is_upper($mystring))
{
  // Do....
}

ctype_upper onay harf için kullanın:

$a = array("Word", "word", "wOrd");

foreach($a as $w)
{
    if(ctype_upper($w{0}))
    {
        print $w;
    }
}