PDA

View Full Version : سوال: تشخیص فارسی بودن متن ارسال شده



maysamscript
یک شنبه 29 اردیبهشت 1387, 22:49 عصر
سلام دوستان
سوال کاملاً واضح است. می خوام تو برنامم کاری کنم که اگر کاربر اسمشو فارسی وارد نکرد خطا بده.

Bahram0110
دوشنبه 30 اردیبهشت 1387, 18:26 عصر
اگه انگليسي وارد كرد خطا بده

vahid4134
دوشنبه 30 اردیبهشت 1387, 20:00 عصر
http://www.iranphp.net/index.php?option=com_smf&Itemid=33&topic=1257.msg7953;topicseen#msg7953
این تابع رو فلونی نوشت
(اگر کسی ازش خبر داره به ما هم بگه)

پدرخوانده
سه شنبه 07 خرداد 1387, 14:07 عصر
دوستان راه حلي براي اين موضوع پيدا نكردند؟!!!!!

vahid4134
سه شنبه 07 خرداد 1387, 14:43 عصر
دوستان راه حلي براي اين موضوع پيدا نكردند؟!!!!!

فکر نکنم ربطی داشته باشه

maysamscript
پنج شنبه 09 خرداد 1387, 10:12 صبح
کسی نبود؟!!:متفکر:

vahid4134
پنج شنبه 09 خرداد 1387, 15:55 عصر
دوستان اصلا لینکی که دادم رو نگاه کردید؟
فکر کنم توی اون نوشته بود دیگه

پدرخوانده
شنبه 11 خرداد 1387, 12:30 عصر
فکر نکنم ربطی داشته باشه
می بخشید چرا ربط نداشت
شما در توضیح به کاربر بعدی اعلام کردید که در پست مربوطه در سایت iranphp به جواب رسیده شد
(چونکه زمانی که بنده پست اول را دادم اون لینک را نگاه کرده بودم (البته قبلش) ولیکن متاسفانه تا آنجایی جلو رفته بود که به دنبال کاربر فلانی می گشتید
به هر حال ممنون از اطلاع که دادید و نهایتا مشکل نیز حل شد
ولی جهت راحتی کاربران بعدی تابع اصلی را بنده در اینجا قرار می دهم.
به زبان جاوااسکرپیت

function is_ara_fa(txt) {
return /^([\u0600-\u06FF]|\s)+$/.test(txt);
}
و به زبان php

function is_ara_fa($txt) {
return preg_match('/^([\xD8-\xDB][\x80-\xBF]|\s)+$/', $txt);
}
وجهت استفاده نیز به راحتی کافیست تابع را در شرط if خود گذاشته و با توجه به خروجی boolean تابع ، ادامه برنامه را کنترل نمایید.