
13-10-2005, 22:05
|
|
|
|
חבר מתאריך: 17.05.04
הודעות: 1,454
|
|
|
ביטוי רגולארי
הפונקציה (preg_replace) :
קוד PHP:
function UNDERLINE($str){
$underline=preg_replace("/\[U](.+)\[\/U\]/is","<u>\\1</u>",$str);
return $underline;
}
הכתיבה :
קוד PHP:
echo UNDERLINE("[U]UnderLine Text[/U]");
עד עכשיו הכל טוב..
הבעיה היא כאשר אני רושם למשל ככה :
קוד PHP:
echo UNDERLINE("[U]UnderLine Text[/U]Regular Text[U]Another UnderLine Text[/U]");
זה מדפיס למסך (עם קו תחתי) :
UnderLine Text[/U]Regular Text[U]Another UnderLine Text
עכשיו השאלה שלי זה איך אני יגדיר לו שמתי שרשום [U/] אז שיעשה <u/>.. (זה מה שזה עושה בדרך כלל אם אני רושם שם רק את ה- Regular Text)
אבל כאשר אני מוסיף עוד פעם את הקו התחתי אז זה גם שם קו תחתי להכל וגם רושם את התגיות..
איך אני יכול לרשום את זה (באותו ביטוי רגולארי ולא ליצור פונקציה חדשה - אם זה אפשרי)..
וגם אם אפשר לא בstring_replace אלא אם כן חייבים :{
אני גם לא רוצה להפריד את זה עם n/ ואז למחוק את המודיפקטור s.. :\ המשתמשים לא צריכים לעשות רווח כל שניה :}
יש לי עוד הרבה פונקציות כאלה.. אבל אני בנתיים ארשום אחת בגלל שלדעתי אם אני אדע איך עושים באחד אני אדע איך עושים בכולם..
_____________________________________
EVERYTHING SHOULD BE MADE AS SIMPLE AS POSSIBLE, BUT NOT ONE BIT SIMPLER
ALBERT EINSTEIN
נערך לאחרונה ע"י Rs3k בתאריך 13-10-2005 בשעה 22:32.
|