PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : چک کردن حروف فارسی در تابع کنترل کارکتر در php



mediya
February 14th, 2011, 21:14
سلام
دودستان می دونید که تو پی اچ پی برای کنترل کارکترها از عبارات مثل این استفاده می کنند.


if (preg_match("/^[a-zA-Z0-9]+$/", $pas))


اگر هم بخاهیم کل کارکتر های استاندارد رو وارد و چک کنیم از تابع زیر استفاده می کنیم:


if (ereg("^[[:print:]]$", $pas))


در این توابع فقط حروف لاتین ، اعداد و کارکتر ها مجاز هستند. حال سوال من این است که برای وارد کردن و چک کردن حروف فارسی چه راهکاری پیشنهاد می کنید.

Rezash
February 14th, 2011, 21:21
براي حروف عربي عبارت معادل داريم ولي متاسفانه نه براي فارسي
بهترين كار اينه كه حروف فارسي رو توي يك آرايه نگه داري و روي رشته راه بري و مقايسه كني ...
البته ميشه بازه كد اسكي كاراكتر هاي فارسي رو از اولين تا آخرين حرف مجاز در نظر گرفت و با كد اسكي كاراكتر هاي رشته مقايسه كرد.اولين كاراكتري كه خارج از بازه يافت بشه معلوم ميشه عبارت وارد شده فارسي نيست.

mediya
February 15th, 2011, 15:03
لطفا عبارت معادل حروف عربی رو بیشتر توضیح دهید.
و در کل مثال های عملی در مورد حروف فارسی و روش های اون رو کجا می شه مطالعه کرد.
آیا ممکن است با یک مثال توضیح بفرمایید.

Rezash
February 15th, 2011, 16:36
اين در مورد عربي :

if(preg_match('/^([\p{Arabic}]|\s)*$/u', "string"))

---------- Post added at 05:36 PM ---------- Previous post was at 05:30 PM ----------

در مورد كد اسكي
حروف و كاراكترهاي فارسي رو يكي يكي از الف معمولي گرفته تا آ (با كلاه !) و هر كاراكتري كه ميخوايد قبول كنيد رو معادل اسكي ش رو بگيريد (با تابع ord)
ميبينيد كه يك بازه درست ميشه كه اگه كاراكترهاي رشته ورودي تو اين بازه باشند معلوم ميشه متن ورودي تماما از ميان كاراكترهاي مورد نظر شماست.

redevills
October 8th, 2013, 16:45
دوستان آدم تنبل بدرد اینحا می خوره
ببنید برای جروف فارسی کدی وجود نداره ؟
پس کافیه که در دستور شرط اون رو بوجود بیارید
مثلا ورودی من باید فارسی باشه در غیر این صورت پیغامی چاپ کن

if (preg_match("/^[a-zA-Z0-9]+$/", $q)) {
$response ="فرمت نام استاندارد نیست لطفا فرمت درست را وارد کنید .";
echo $response ;
}
else
{
echo "حروف فارسی وارد شده است .";
}
به همین سادگی
سلامتی اقا امام زمان هم صلوات