تشخیص فارسی بودن متن؟

Ray9.net

Member
سلام،
چطوری می شود تشخیص داد که یک متنی فارسی هست یا نه؟
اگر ممکنه راهنمایی کنید خیلی ممنون!:oops:
 

msnasiri

Member
حروف فارسی 2 بایت می گیرن ولی انگلیسی 1 بایت

که داخل حروف فارسی کد اسکی بایت اول بیشتر از 128 هست
 

meysam-fathi

Active Member
PHP:
$string = "english";
$check_string = ereg("^[-A-Za-z]",$string);
if($check_string){echo 'english';}else{echo 'not english';}
 

ziXet

مدیر انجمن PHP/MYSQL
PHP:
$string = "english";
$check_string = ereg("^[-A-Za-z]",$string);
if($check_string){echo 'english';}else{echo 'not english';}
خب این برای متن غیر فارسی هست.
مثلا اگه فرنچ باشه چی؟
بازم میگم اگه بطور دقیق بخواین کار کنین باید از الگوریتم های هوش مصنوعی استفاده کنید یا اینکه از api گوگل استفاده کنید که دومی خیلی راحته
 

meysam-fathi

Active Member
این یه سلوشن برای تشخیص رشته های انگلیسیه ، البته من نمی فهمم چقدر مهمه که بدونیم متن فارسیه یا یه زبان دیگه؟
 

eAmin

Well-Known Member
http://forum.majidonline.com/showthread.php?t=120296
-----
ولی اگر بخواید تشخیص بدید که این متن، مثلا یک جمله " این یک متن فارسی است. " فارسی هست و بازبانهای مشابه مثل عربی و افغانی و ... قاطی نشه اون موقع باید دست به دامن هوش مصنوعی و api های آماده شد.
 

k2-4u

Well-Known Member
خب اگر انتخاب های شما فارسی یا انگلیسی باشه
یعنی . عربی افقانی و .... نباشه
--------
می تونین دو نوع شرط با استفاده از regex استفاده کنید

1. اگر انگیسی نبود یعنی فارسی است
2. اگر از حروف فارسی استفاده شده بود یعنی فارسی است
PHP:
preg_match('/^[اآبپتثئجچحخدذرزژسشصضطظعغفقکگلمنوهی\s]+$/', $txt)
 

جدیدترین ارسال ها

بالا