שלח תשובה

זירת השאלות

488
צפיות
16
תשובות

בעיה ב – regExp

,‏ 11 בספטמבר, 2004

אני מנסה לבנות reg שמוצא תגיות HTML ומוסיף להם span אבל אני לא מצליח בנות אחד שמגלה כל תגית בנפרד אלא הוא מחליף את כל התגיות לאותו דבר הנה


var reg=/(<[sS]+>)/gi
str="<html><head><title>"
str = str.replace(reg,"<strong>$1</strong>")


והתוצאה :


<strong><html><head><title></strong>


תגיות:

16 תשובות

  1. זה לא עובד בצורה הרצויה
    אני רוצה שבין כל אחד מן התגיות יהיה <strong> בנפרד

  2. אוריקס הגיב:

    ….


    var reg=/(<[^>]*>)/gi
    str="<html><head><title>"
    str = str.replace(reg,"<strong>$1</strong>")

  3. אוריקס תודה אבל שכחתי לציין שאני…
    משתמש ב&lg וב-&gt ואני לא מצליח לגרום לקוד שלך שגם יפעל על זה
    הנה מה שכתבתי:
    הורדתי את כל הנקודה פסיק בשביל שתוכל לראות את הקוד לא בצורה ויזואלית…

    var reg=/(&lt[^&gt]*&gt)/gi
    str="&lthtml&gt&lthead&gt&lttitle&gt"
    str = str.replace(reg,"<strong>$1</strong>")

    והנה הפלט:

    &lthtml&gt&lt<strong>head</strong>&gt&lttitle&lt

  4. אווווווףףףףףף לקח לי 10 דקות לכתוב
    את הכל ב-gt ו -lt איזה חרא!
    טוב אני מקווה שהבנתם את הרעיון

  5. עוד אחת….
    איך אני עושה אפשרות גלילה לDIV או ל-span?

  6. רק שאלה איך אני יכול להגדיר בREGEXP
    שמשהו הוא ביטוי אחד ולא כמה ביטויים?
    ד"א קידמתי את זה קצת ועכשיו זה מגלה רק HTML ולא <> של VBS…
    הנה :


    <script language="JavaScript" type="text/javascript">
    <!–
    var reg=/(<[Ss][^>]*>)/gi
    str="<html><head><>"
    str = str.replace(reg,"<f>$1</f>")
    alert(str)
    //–>
    </script>

  7. הסבר + תיקון
    אני מנסה שה-reg שלי יגלה תגיות HTML כשהן במצב של lg ו-gt ומשום מה הreg שבניתי לא פועל כי הוא לא מגלה את כל מה שאני רוצה שהוא יגלה הנה ה-reg תוסיפו ל-lg ול-gt את ה-& והנקודה פסיק…

    var reg=/(lt[Ss][^gt]*lt)/gi
    var str = "(lt)html(gt)(lt)head(gt)(lt)title(gt)(lt)/title(gt)(lt)/head(gt)(lt)body(gt)(lt)/body(gt)(lt)/html(gt)"
    str = str.replace(reg,"<B>$1</B>")

    והתוצאה היא

    <html><head><title></title><body></body></html>

    למה זה ככה?

  8. אני מנסה ללמוד regExp…
    ואני ראיתי את ה-reg הזה בFAQ של פורום ASP בתפוז:

    (/(d(?=(d{3})+(?!d)))/g,"$1,")

    יש כאן כל מיני יטויי regExp שאני לא מצליח למצוא או להבין מה הם עושים כמו ה-? ה-! וה-=…
    מישהו יוכל להסביר או מדריך
    בתודה מראש
    yoava333

  9. ניר טייב הגיב:


    נסה כאן: http://www.regular-expressions.info

    אילו דברים יותר מתקדמים הייתי מציע לך להתחיל בבסיס אשר מוסבר כאן במאמר שלי

שלח תשובה