I could easily remove any non Persian (Farsi) characters using this function, the range for Arabic and Persian are shared so this code could be used for Arabic too.
<?php mb_ereg_replace("[^-ۿ]","-",$string); ?>
This is the reference for finding the character range of Unicode languages:
http://unicode.org/charts/
mb_ereg
(PHP 4 >= 4.2.0, PHP 5)
mb_ereg — Düzenli ifadeyi çok baytlı karakter desteğiyle eşleştirir
Açıklama
$şablon
, string $dizge
[, array $sonuç
] )Düzenli ifadeyi çok baytlı karakter desteğiyle eşleştirir.
Değiştirgeler
-
şablon -
Aranacak şablon.
-
dizge -
Şablonun aranacağı dizge.
-
sonuç -
Eşleşen dizgeyi içeren dizge.
Dönen Değerler
Düzenli ifadeyi çok baytlı karakter desteğiyle çalıştırır ve eşleşme
sağlanırsa 1 döndürür. İsteğe bağlı olan
sonuç değiştirgesi belirtilmişse eşleşen alt dizge
sonuç değiştirgesine yerleştirilip uzunluğu dönüş
değeri olarak döndürülür. Boş dizgeyle eşleşme halinde işlev
1 değeriyle döner. Eğer bir eşleşme bulunamazsa veya bir
hata oluşursa FALSEdöner.
Notlar
Bilginize:
Bu işlev karakter kodlaması olarak dahili kodlamayı veya mb_regex_encoding() işlevi tarafından belirtilen karakter kodlamasını kullanır.
Ayrıca Bakınız
- mb_regex_encoding() - mbregex işlevleri için geçerli kodlamayı dizge olarak döndürür
- mb_eregi() - Harf büyüklüğüne duyarsız çok baytlı düzenli ifade eşleştirmesi uygular
Hebrew regex tested on PHP 5, Ubuntu 8.04.
Seems to work fine without the mb_regex_encoding lines (commented out).
Didn't seem to work with \uxxxx (also commented out).
<?php
echo "Line ";
//mb_regex_encoding("ISO-8859-8");
//if(mb_ereg(".*([\u05d0-\u05ea]).*", $this->current_line))
if(mb_ereg(".*([א-ת]).*", $this->current_line))
{
echo "has";
}
else
{
echo "doesn't have";
}
echo " Hebrew characters.<br>";
//mb_regex_encoding("UTF-8");
?>
