ABA


"אשמח לעזרה ב-REGEX - שפת תכנות PHP :)"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #12444 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 12444
FireAngel

דרג אמינות חבר זה
   15:46   02.07.07   
אל הפורום  
  אשמח לעזרה ב-REGEX - שפת תכנות PHP :)  
 
   אני רוצה לעשות בדיקה האם String מסויים הוא מסוג כזה (בדיקה האם אמת או שקר):

id=965&name=fireangel&my=true

כלומר: אחרי ה-id יבוא מספר, ואחרי ה-name יכול לבוא מה שבא לי (עברית, אנגלית, מספרים, ובעצם כל תו אחר).

אני יודע שצריך להשתמש ב-preg_match אבל אין לי מושג ב-patterns.

כמו כן אני גם מחפש דרך להשיג את מה שרשום אחרי ה-id ואחרי ה-name עם REGEX ולא עם שיטות סטרינג (preg_match נדמה לי).

אני פשוט לא מבין בתבניות השונות, אשמח לעזרה.


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  האמת זה לא צריך ליהיות מסובך:) akoka 02.07.07 15:59 1
     אם עד סופ''ש הבא לא תצליח דבר איתי CaTz 02.07.07 21:21 2
  בבקשה :) -DoTaN- 03.07.07 13:10 3

       
akoka

דרג אמינות חבר זה
   15:59   02.07.07   
אל הפורום  
  1. האמת זה לא צריך ליהיות מסובך:)  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 02.07.07 בשעה 16:00 בברכה, akoka
 
http://php.eitan.ac.il/main.php?id=00172

אתה צריך לבדוק שהמחרוזת מתחילה בid התוו ^ משו כזה


preg_match("^id=[מחלקת תווים לאפשר רק מספרים]&name=[a-z]&my=true");

זה בניחוש פרוע אני לא משתמש בביטויים רגולריים בדרך כלל כנס ללינק שנתתי לך יש שם בדיוק את המדריך לזה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
CaTz
חבר מתאריך 2.10.04
14537 הודעות, דרג אמינות חבר זה
   21:21   02.07.07   
אל הפורום  
  2. אם עד סופ''ש הבא לא תצליח דבר איתי  
בתגובה להודעה מספר 1
 
   במחשב יש לי תוכנה מעולה regxbudy משהו כזה...
מעולה ביותר לעניין הזה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
-DoTaN-

דרג אמינות חבר זה
   13:10   03.07.07   
אל הפורום  
  3. בבקשה :)  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 03.07.07 בשעה 13:13 בברכה, -DoTaN-
 

id=[0-9]+&name=.+&my=[true|false]+

הסבר:
0-9+ יחפש מספר בלתי מוגבל של ספרות ברצף.
.+ יחפש כל תו, באורך בלתי מוגבל. (אתה יכול להחליף את זה ב[a-Zא-ת0-9].
true|false+ יחפש true או false.


שמתי את המחרוזת שאתה הבאת, וזו התוצאה מREGEXBUDDY:


i
id
id=
id=965
id=965&
id=965&n
id=965&na
id=965&nam
id=965&name
id=965&name=
id=965&name=fireangel&my=true
id=965&name=fireangel&my=truebacktrack
id=965&name=fireangel&my=tru
id=965&name=fireangel&my=trubacktrack
id=965&name=fireangel&my=tr
id=965&name=fireangel&my=trbacktrack
id=965&name=fireangel&my=t
id=965&name=fireangel&my=tbacktrack
id=965&name=fireangel&my=
id=965&name=fireangel&my=backtrack
id=965&name=fireangel&my
id=965&name=fireangel&mybacktrack
id=965&name=fireangel&m
id=965&name=fireangel&mbacktrack
id=965&name=fireangel&
id=965&name=fireangel&backtrack
id=965&name=fireangel
id=965&name=fireangel&
id=965&name=fireangel&m
id=965&name=fireangel&my
id=965&name=fireangel&my=
id=965&name=fireangel&my=true
Match found

זה הקוד בPHP + תקבל ממנו מערך עם התוצאות:


preg_match_all('/id=[0-9]+&name=.+&my=[true|false]+/', $subject, $result, PREG_PATTERN_ORDER);

for ($i = 0; $i < count($result[0]); $i++) {
// $result[0][$i];
}

או


preg_match_all('/id=[0-9]+&name=.+&my=[true|false]+/', $subject, $result, PREG_PATTERN_ORDER);

$result = $result[0];


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net