
08-10-2009, 15:46
|
|
|
|
חבר מתאריך: 15.08.06
הודעות: 1,561
|
|
בתגובה להודעה מספר 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, אחרכך הוא מוצא את כל התווים שהם לא שטרודל או וייטספייס, ואז הוא חייב למצוא שטרודל, ואחרכך את כל התווים עד שיש עוד וייטספייס שמסיים את הביטוי.
לא בדקתי את זה נרחבות. מציע לך לבדוק את זה לעומק.
_____________________________________
!!אזהרה!!
ההודעה עלולה להכיל שברי אגוזים ו/או איברי דגים כלשהם
!!אזהרה!!
|