في ال php
اذا اردت التاكد من وجود المسافات و الرمزين -_ و حروف و ارقام من كل اللغات فقط دون رموز خاصة اخرى مثل ؟*&★ʘ͜ʘ ☀$# ... الخ
بحثت طويلا و لم اجد الاجابة
هل يوجد حل لهذا ؟؟
(\p{L}|-|_)*
L هي مجموعة الحروف في اليونيكود، p{} تطابق مع أي يونيكود من داخل المجموعة المعطاة. مجموعات اليوينيكود: http://www.fileformat.info/...
شرح تفاعلي: https://regex101.com/r/cA6e...
للاستزادة في الريجيكس مع اليونيكود: http://www.regular-expressi...
تعديل: نسيت الأرقام :)
(\p{L}|-|_|[0-9]*)*
كتبت الكود
if( preg_match("(\p{L}|\p{N}|-|_)*", "محمد", $temp_value) != false ){ echo "1" ; }else{ echo '2'; };
لكن ظهر خطأ
Warning: preg_match() [function.preg-match]: Unknown modifier '*' in E:\AppServ\www\zzz.php on line 3
هل يوجد خطأ بالتنفيذ ؟
لم أستطع تبين الكود
انسخه واترك 4 مسافات في بداية السطر
if( preg_match("(\p{L}|\p{N}|-|_)*", "محمد", $temp_value) != false ){ echo "1" ; }else{ echo '2'; };
يبدو ان المشكلة بطريقة الكتابة
ادخلتها كما تفضل @ahmadmarafa بهذا الشكل /^[\p{L}\p{N}\s-_]*$/u فعمل الكود
شكرا للرد على السؤال
مع تحياتي
عليك بالدخول إلى
وإيجاد جميع التدرجات بين الرموز الخاصة ووضعها أو وضع التدرجات للغات ووضع قبلها ^ لايوجد حل أخر لان هناك رموز التدرجات بينها حروف مثلًا ؟ و ? و ۩.
التعليقات