![]() |
בעיית עברית עם preg_match
אהלן,
בניתי פונקציה שבודקת האם מחרוזת שמתקבלת נמצאת בטווח ערכים שמתקבל: PHP קוד:
אחרת - מחזירה 0. עם אנגלית מספרים ותווים זה עובד בלי בעיה. חקרתי את העניין קצת לעומק וגיליתי שתווים עבריים (א-ת) הוא סופר פעמיים. א - 2 תווים. אבג - 6 תווים. אבגדהוזחטיכלמנצעפצקרשת - 44 תווים. הקידוד הוא utf-8. מה אוכל לעשות? תודה! |
גם לי היית אותה הבעיה, רק במקרה אחר, לא הצלחתי לעשות בדיקה על תווים בעברית עם preg_match
במקרה שלי זה היה בדיקה של שם משתמש\ סיסמא אז השתמשתי ב HTMLSPECIALCHARS וכדומה .. אני יחזור לשאלה שלך, אני לא יודע את הפיתרון, ומצטרף אליך גם. |
יש המון פונקציות שהם utf8-safe שאנשים יצרו.
אגב - כדי לבדוק אורך לא עושים את זה, אלא isset($str[...]) |
ציטוט:
|
כשאתה משתמש ב UTF וכותב בעברית מספר התווים גדול יותר.
|
ציטוט:
|
למה שלא תשתמש בstrlen פשוט?
http://il.php.net/manual/en/function.strlen.php |
@מתן - לא. זה אומר שצריך למצוא דרך לעשות את מה שהוא רוצה שיתמוך ב UTF8.
ציטוט:
|
STRLEN היא אינה תומכת בספירת 500 תווים.
באיזה דרך אני יכול לסדר את הבעיה עם הפונקציה? |
הנה זה יתמוך ב multibyte וגם הורדתי את ה preg_match והחלפתי בפקודת IF פשוטה.
PHP קוד:
|
כל הזמנים הם GMT +2. הזמן כעת הוא 14:20. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ