הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 11-12-08, 14:14   # 1
ofekbaba
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jul 2007
הודעות: 125

ofekbaba לא מחובר  

עזרה| עם הפונקציה preg_match

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

תודה, אופק.

עריכה:
הנה דוגמא שקראתי מאמר וניסיתי ולא הבנתי מה הבעיה, אולי אם תתקנו אותי אני ילמד להבא:
ציטוט:
preg_match('/.*@?.*\.?.*/', $_REQUEST["mail"])

Last edited by ofekbaba; 11-12-08 at 15:02..
  Reply With Quote
ישן 11-12-08, 17:27   # 2
Elad-A
הוסטסניון
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 1,987

Elad-A לא מחובר  

ביטויים רגולריים - PCRE

בהצלחה.
  Reply With Quote
ישן 11-12-08, 19:18   # 3
ofekbaba
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jul 2007
הודעות: 125

ofekbaba לא מחובר  

תודה אחי קראתי זה עזר לי
עדיין אני משתגע למה זה לא נכון:
ציטוט:
preg_match('/(\w+)@(\w+)\.(\w+)/i', 'abc@domain.com')
  Reply With Quote
ישן 11-12-08, 20:04   # 4
vadimg88
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Feb 2008
גיל: 36
הודעות: 710

vadimg88 לא מחובר  

אם אתה מנסה להתאים כתובת מייל ולבדוק אם היא אכן תואמת לכתובת מייל נכונה אני הייתי עושה את זה ככה:

PHP קוד:
<?php

$email 
"myname@mydomain.com";
$regex "/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,4})(\]?)$/";

if ( 
preg_match$regex$email) )
{
    echo 
"Regex matched";
    exit;
}

echo 
"Regex did not match!";


?>
  Reply With Quote
ישן 11-12-08, 23:01   # 5
SDF
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Sep 2006
מיקום: Negev
הודעות: 270

SDF לא מחובר  

בשביל מה הסוגריים המרובעים והמספרים בסיומת?
למשל עבור:

PHP קוד:
$email "myname@[a.1]"
הביטוי שלך יחזיר:

קוד:
Regex matched
ובכל מקרה, ביטויים רגולריים עבור איימיילים לדעתי לעולם לא יהיו מושלמים.
אבל זה מה יש.

השיטה האלטרנתיבית, גם היא לא מושלמת היא לבדוק האם לדומיין אחריי ה@ יש mx.
אבל היא גם יודעת להגיד מתי כתובת שניראת לגטימית היא לא (למרות שכאן זה גם הצד החלש של השיטה)

משהו כזה:
PHP קוד:
<?php
error_reporting
E_ALL );

$emails = Array();

$emails[] = "SDF@freebsd.co.il"// looks ok, right? but no MX, should fail the check.
$emails[] = "SDF@nix.co.il"// looks ok and passes the check.
$emails[]  = "user@hosts.co.il"// ok
$emails[]  = "user@gmail.com@walla.co.il"// fail
$emails[]  = "user@someunkown"// fail

foreach ( $emails as $email )
{
        
$data explode("@"$email);
        
$ct count($data);
        if ( 
$ct || $ct <= )
        {
                
printf(">> FAIL: Email %s failed the check.\n"$email);
                continue;
        }

        
$hostname $data[1];

        if ( 
getmxrr  $hostname$mxhosts$weight ) )
        {
                if ( !
count$mxhosts ) )
                {
                        
printf(">> FAIL: NO MX for email %s\n"$email);
                }
                else
                {
                        
printf(">> OK: Email %s were OK.\n"$email);
                }
        }
        else
        {
                
printf(">> FAIL: DNS failed for email %s\n"$email);
        }
}
__________________
FreeBSD, a *nix operating system
  Reply With Quote
ישן 12-12-08, 01:36   # 6
exciter
משתמש - היכל התהילה
 
exciter's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: סוף העולם, שמאלה
הודעות: 672

exciter לא מחובר  

SDF, אתה מודע לזה שיכולה להיות כתובת מייל עם 3 נקודות נכון ? זאת אומרת בסגנון הזה: or@tza.bar.com
מעשית אף אחד לא עושה וכמעט לא רואים את זה, אבל אין הגבלה טכנולוגית על זה.
פה הקטע קוד שלך נפל על מייל תקין.
__________________
  Reply With Quote
ישן 12-12-08, 01:53   # 7
SDF
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Sep 2006
מיקום: Negev
הודעות: 270

SDF לא מחובר  

ציטוט:
נכתב במקור על ידי exciter צפה בהודעה
SDF, אתה מודע לזה שיכולה להיות כתובת מייל עם 3 נקודות נכון ? זאת אומרת בסגנון הזה: or@tza.bar.com
מעשית אף אחד לא עושה וכמעט לא רואים את זה, אבל אין הגבלה טכנולוגית על זה.
פה הקטע קוד שלך נפל על מייל תקין.
שיהיה אפילו עם 50 נקודות, אני לא רואה איך מספר הנקודות קשור פה.
עבור דומיין שיש לו שרת דוא"ל צריך להיות רישום MX.
זה נכון שלא כולם עושים את זה, אבל זה כבר סיפור אחר.

בוא ננסה
user@this.is.just.a.test.freebsd.co.il
__________________
FreeBSD, a *nix operating system
  Reply With Quote
ישן 13-12-08, 14:18   # 8
ofekbaba
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jul 2007
הודעות: 125

ofekbaba לא מחובר  

לא נורא אם זה לא יאשר מייל לא חוקי אחד או שתיים העיקר שזה יאשר מייל תקין ויגביל את רוב הלא חוקיים..
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 

Tags
preg_match


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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