• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل کارکترهای فارسی با Regular Expressions
#1
یه مت نتو سایت php.net دیدم که فکر کنم با این روش بشه مشکل validate کردن کارکترهای فارس یور رفع کرد .

کد پی‌اچ‌پی:
Was working on a site that needed japanese and alphabetic letters and needed to 
validate input using preg_match
I tried using \p{scriptbut didn't work:

<?php
$pattern ='
/^([-a-zA-Z0-9_\p{Katakana}\p{Hiragana}\p{Han}]*)$/u'; // Didn't work
?>

So I tried with ranges and it worked:

<?php
$pattern 
='/^[-a-zA-Z0-9_\x{30A0}-\x{30FF}'
         
.'\x{3040}-\x{309F}\x{4E00}-\x{9FBF}\s]*$/u';
$match_string '印刷最安 ニキビ跡除去 ゲームボーイ';

if (
preg_match($pattern$match_string)) {
    echo 
"Found - pattern $pattern";
} else {
    echo 
"Not found - pattern $pattern";
}
?>

U+4E00–U+9FBF Kanji
U+3040–U+309F Hiragana
U+30A0–U+30FF Katakana

Hope its useful, it took me several hours to figure it out. 

http://www.php.net/manual/en/function.pr....php#94424


فقط معنی این کارکترهای خاصی رو که داخل patern اومذه رو درست متوجه نشدم اگه بچه ها می تون در این مورد توضیح بدن .
  پاسخ
تشکر شده توسط :
#2
http://forum.iranphp.org/Thread-%D8%AA%D...8%B3%DB%8C
  پاسخ
تشکر شده توسط : php
#3
اون بحث رو که خودم ایجاد کرده بودم ولی ممنون که یاد واری کردی Blush حالا می خواستم ببینم این مطلبی که اینجاست چیه ؟

مثلا {30A0} یعنی چی ؟
  پاسخ
تشکر شده توسط :
#4
انحراف تایپینگ!!! Big GrinBig Grin
--
این ereg رو گفتن دیگه کنار بزارید
درحالی من خیلی وقت بود بخوبی می تونستم کارم رو انجام بدم!
من نتونسم خودم رو با preg_match وفق بدم
  پاسخ
تشکر شده توسط : php
#5
ممنون‌ محمد
اونجا گفتم دیگه
UTF-8
اینا ماله اونه ‌کدهای‌ مخصوص UTF-8
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان