PHP regex soru: nasıl latin1_swedish_ci charset yok-ascii harfleri maç?

2 Cevap php

Verbesserungsvorschläge Ben Almanca olduğunu düşünüyorum: Ben bu dizesi vardır. Şimdi php bir regex ile maç istiyorum. Daha genel olmak üzere, ben ASCII kümesi% 100 değil Almanca gibi bu tür karakterleri eşleştirmek istiyorum.

Teşekkürler.

2 Cevap

Eğer 8 bitlik karakter kümesi ile çalışıyorsanız, regex [\x80-\xFF] ASCII olmayan herhangi bir karakterle eşleşir. PHP olurdu:

if (preg_match('/[\x80-\xFF]/', $subject)) {
  # String has non-ASCII characters
} else {
  # String is pure ASCII or empty
}

Bu acı dünya, ama "/ Verbesserungsvorschl \ xc3ge /" basit genişletilmiş karakterleri gibi, onaltılık değerini kullanarak deneyebilirsiniz.

Sinek ile belirlenir için onaltılık değerler bir tablo bulunabilir

echo dechex( ord( ä ) ); 

Tam unicode, bir değiştirici olarak / u kullanabilirsiniz. http://www.php.net/manual/en/regexp.reference.unicode.php ve diğer sayfalarına bakın. Benim anlayış unicode PHP 6 sürümü daha iyi çalışacak olması.