הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [PHP] צריך הסבר בקשר ל RegEx (https://hosts.co.il/forums/showthread.php?t=25708)

Elad-A 05-07-06 16:59

[PHP] צריך הסבר בקשר ל RegEx
 
שלום,

קראתי באתר php.net על RegEx אך לא ממש הבנתי מה זה עושה..
מישהו יכול להסביר לי ככה בקטנה?

RS324 05-07-06 17:35

מה אתה רוצה לדעת ?

מהבחינה עקרונית REGEX היה שייך בתחילה לשפת תיכנות PERL
ולאחר מכן כל שאר השפות אימצו את זה

עקרונית REGEX נועד לחיפוש חכם על פי אפשרויות, תנאים וכדומה.
ב PHP יש 2 פונקציות שמשתמשות ב REGREX והם
EREG)EREGI( וגם PREG
יש עוד כמה אפשרויות... תחפש.

Elad-A 05-07-06 18:01

מה עושים איתו?

null 05-07-06 18:06

לבדוק מחרוזות,
אפשר להשתמש בזה למשל כדי לבדוק אם המשתמש הזין אימייל תקין :) וכד'

eLad 05-07-06 18:08

ציטוט:

נכתב במקור על ידי Elad-A
מה עושים איתו?

תבנית טקסט.

נניח יש לך מחרוזת ואתה רוצה להוציא ממנה רק את המילים שמתחילים באות e ומסתיימים באות d, אז אתה בונה לכך תבנית.

או

נניח אתה רוצה להוציא משם את כל תגי ה HTML (לנקות את המחרוזת), אתה בונה לזה תבנית וכו'..

Elad-A 05-07-06 18:22

אני יכול לעשות עם זה דבר כזה?
נגיד יש לינק כזה http://elad.co.il/elad.php אני יכול לעשות שאם הוא מכיל למשל את המילה elad אז הוא יציין "אלעד"?

בניה 05-07-06 18:46

ב"ה


דבר כזה קטן עליו.

הכומר 05-07-06 19:15

איך בדיוק אפשר איתו לבדוק עם האימייל תקין?

בניה 05-07-06 21:20

ציטוט:

נכתב במקור על ידי Yup.co.il
איך בדיוק אפשר איתו לבדוק עם האימייל תקין?

ב"ה


תלוי מה אתה מגדיר תקין.
אם תקין זה שהוא מכיל @ ואחרי ולפני השטרודל יש אותיות ואז נקודה של הדומיין וכל התווים הם אותיות באנגלית אז זה צריך להראות ככה:
קוד:

/^[a-z]+@{1}[a-z]+\.[a-z]+$/i
ואם אתה רוצה לבדוק אם יש התאמה בPHP תעשה ככה:
קוד:

if(preg_match("/^[a-z]+@{1}[a-z]+\.[a-z]+$/i","@bnaya.cc",$arr))
        echo "Ok";


הכומר 06-07-06 14:15

האם יש אפשרות לעשות שיהיה אפשר לעשות מין תבנית כזאת:

PHP קוד:

__________@__________.____ 

ה_ זה אומר שאפשר להכניס מה שרוצים

ואם כבר אנחנו כאן אפשר להגביל שיהיה רק פעם אחת @?

eLad 06-07-06 15:10

ציטוט:

נכתב במקור על ידי Yup.co.il
האם יש אפשרות לעשות שיהיה אפשר לעשות מין תבנית כזאת:

PHP קוד:

__________@__________.____ 

ה_ זה אומר שאפשר להכניס מה שרוצים

ואם כבר אנחנו כאן אפשר להגביל שיהיה רק פעם אחת @?

למה אתה לא מסתכל על הדוגמא שבניה הביא לך?|Rolleyes|

הכומר 06-07-06 17:03

ציטוט:

נכתב במקור על ידי eLad
למה אתה לא מסתכל על הדוגמא שבניה הביא לך?|Rolleyes|

העניין שאני לא מבין מה אומרות כל הסימנים האלה...

RS324 06-07-06 17:24

@{1}

זה מציין פעם אחת, אבל הקוד שבניה הביא לא הכי נכון
מכיוון שיכול להיות מיילים שנגמרים גם במספרים
לדוגמא
user22@host25.co.il
מקרה כזה הדוגמא לא מכסה

miniature 06-07-06 17:27

ציטוט:

נכתב במקור על ידי RS324
@{1}

זה מציין פעם אחת, אבל הקוד שבניה הביא לא הכי נכון
מכיוון שיכול להיות מיילים שנגמרים גם במספרים
לדוגמא
user22@host25.co.il
מקרה כזה הדוגמא לא מכסה

מה עם זה?
HTML קוד:

function checkEmail(strEmail){
    return /^\\w+@([\\w\\-]+\\.)+\\w{2,3}$/.test(strEmail);
}


בניה 06-07-06 17:36

ציטוט:

נכתב במקור על ידי RS324
@{1}

זה מציין פעם אחת, אבל הקוד שבניה הביא לא הכי נכון
מכיוון שיכול להיות מיילים שנגמרים גם במספרים
לדוגמא
user22@host25.co.il
מקרה כזה הדוגמא לא מכסה

ב"ה

כמו שאמרתי, זה תלוי איך שאתה מגדיר תקין.
ואת הסימנים אפשר ללמוד מפה:
http://php.eitan.ac.il/
רק שכרגע הם בשידרוגים אז אפשר ללמוד מפה:
http://webmaster.org.il/article.asp?id=171
(בjavascript ו PHP זה אותו דבר.)
חלק מהדוגמאות לא מיושרות לשמאל אז זה נראה ככה:
{n,}
אבל זה נקרא ככה:
קוד:

{n,}


כל הזמנים הם GMT +2. הזמן כעת הוא 20:00.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ