לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

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



  #1  
ישן 03-10-2009, 13:42
  kokomania kokomania אינו מחובר  
 
חבר מתאריך: 02.01.07
הודעות: 19
בעיה... preg_replace להחילף קישורים וכתובות מייל

קוד PHP:
 function replace_links($plain_text) {
    
$plain_text preg_replace(
    
'/([\w.1-9\&=#?\-~%;\/]+)+(?<!S)(((.co.il)|(.org.il)|(.net.il)|(.com)|(.org)|(.  net)))/',
    
'<a href="http://$1$3" target="_blank">$1$3</a>'$plain_text);
    return (
$plain_text);



זאת פונקציה שמוצאת קישורים בטקסט פשוט (המטרה היא להציג קישורים כלינקים בצ'ט שאני בונה)
בכוונה הוא עובד ככה שהוא מוצא לפי הסיומת של הכתובת ולא לפי WWW או HTTP כדי שיהיה נוח יותר (לרוב לא שולחים בצ'טים כתובת עם WWW או HTTP, במיוחד כשמקלידים ולא מדביקים C+V).

השאלה היא כזאת...

אני רוצה עוד פונקציה שתחליף את כל כתובות המייל לקישור.. הבעיה היא שיש התנגשויות..

אני רוצה לזהות כתובת מייל לפי

XXX@XXX.XXX

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

XXX@XXX.XX.XX

ועוד משהו

XXX.XX@XX.XX.XX

..


הצלחתי לעשות משהו כזה אבל שוב, מתנגש עם הקוד של הלינקים ומזייף לפעמים.

קוד PHP:
 function replace_emails($plain_text) {
    
$plain_text preg_replace(
    
'/([\w.1-9\&=#?\-~%;\/]+)+([\@])+([\w.1-9\&=#?\-~%;\/]+)/',
    
'<a href="http://$1$2$3$4$5" target="_blank">$1$2$3$4$5</a>'$plain_text);
    return (
$plain_text);



יש עצות??

תודה מראש!!!

נ.ב:

כשהצ'ט יהיה מוכן אני אעלה אותו לכאן להתרשמות וחוות דעת.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #4  
ישן 08-10-2009, 15:46
  משתמש זכר yoavmatchulsky yoavmatchulsky אינו מחובר  
 
חבר מתאריך: 15.08.06
הודעות: 1,561
שלח הודעה דרך ICQ אל yoavmatchulsky שלח הודעה דרך MSN אל yoavmatchulsky Facebook profile
בתגובה להודעה מספר 1 שנכתבה על ידי kokomania שמתחילה ב "בעיה... preg_replace להחילף קישורים וכתובות מייל"

קוד PHP:
<?php

$text 
'i can be reached at [email]yoav@matchulsky.com[/email] DDDAAAAAMMMNNNs';

echo 
preg_replace('!(\s)([^\@\s]+)\@([^\s]+)(\s)!''$1<a href="mailto:$2@$3">$2@$3</a>$4'$text);

?>

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

לא בדקתי את זה נרחבות. מציע לך לבדוק את זה לעומק.
_____________________________________
!!אזהרה!!
ההודעה עלולה להכיל שברי אגוזים ו/או איברי דגים כלשהם
!!אזהרה!!

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

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

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 00:10

הדף נוצר ב 0.03 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2025 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר