regex
שבת שלום, אני כרגע עובד על סקריפט upload לגלריית התמונות שלי, כמשתמש מעלה קובץ, אני מעוניין לבדוק אם השם מתאים לי (שיהיהו תווים באנגלית בלבד, מספרים, או התווים: '_' ו '-'. לצורך העניין רציתי להשתמש ב regular expression, חשבתי על זה:

שבת שלום, אני כרגע עובד על סקריפט upload לגלריית התמונות שלי, כמשתמש מעלה קובץ, אני מעוניין לבדוק אם השם מתאים לי (שיהיהו תווים באנגלית בלבד, מספרים, או התווים: '_' ו '-'. לצורך העניין רציתי להשתמש ב regular expression, חשבתי על זה:
^[0-9a-zA-Z_\-]\.(jpe?g|zip)$
השתמשתי בפונקציה ereg() בשביל להשוות לשם הקובץ:<pre> <?php $start = time(0); $file_name_regex = "[0-9a-zA-Z_\-]"; $file_ext_regex = "(jpe?g|zip)"; $my_regex = "^$file_name_regex\.$file_ext_regex$"; // "^[0-9a-zA-Z_\-]\.(jpe?g|zip)$"; $filename = "3453b345_l-a.zip"; print(ereg($my_regex, $filename, $regs)); print("\n\n"); print_r($regs); print("\n\n"); print(time(0)-$start); ?> </pre>
כל עוד אני לא מתמש באופרטור ^, ereg עובד בסדר (?), אבל אם אני מנסה להשתמש באופרטור הזה, מחזיר לי שקר תמיד (?). תודה מראש לכל העונים