חיפוש מילה בטקסט

‏ • 13 במרץ, 2004

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


איך העניין עובד?

יש לנו טקסט ניצור textbox אשר המילה שנשים בתוכה תוחלף בסגנונה למשל במקום שתהיה בצבע שחור נצבע אותו באדום עם רקע צהוב

הינה הקוד וכמה הסברים עליו:










1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24  








<script runat="server">
sub page_load(obj as Object, e as EventArgs)
    label1.text="I love sport and he hates sport"
end sub

sub findkeyword(obj as Object, e as EventArgs)
    dim Strkeyword as string = textbox1.text
    Dim StrMessage as String = label1.text
    StrMessage = StrMessage.Replace( Strkeyword , "<span style=background-color:yellow;>" + Strkeyword + "</span>")
    label1.text = StrMessage
end sub
</script>

<html>
   <head></head>
   <body>
      <form runat=server>
         <asp:textbox runat=server id=textbox1 />
         <asp:linkbutton onclick=findkeyword runat=server text=find />
         <P>
         <asp:label runat=server id=label1 />
      </form>
   </body>
</html>



הקוד יחסית קצר ופשוט, ניגש קודם כל לחלק התחתון של הדף שבתחומי ה form יצרנו textbox בשם :textbox1 וכפתור תכונה חשובה: onclick אשר כאשר ילחצו עליו הוא יגש לשגרה findkeyword
ועוד פקד label בשם label1 להציג טקסט

כעת נידש לקוד הדף אשר בחלקו העליון, יש לנו שתי שגרות:

  • Page_load-מה יקרה כאשר הדף יטען
  • findkeyword-ביצוע חיפוש המילה

    page_load

    בשיגרה הזו פשוט הגדרנו טקסט לlabel1

    Findkeyword

    שתי השורות הראשונות באות להגדיר שני פקדי שרת StrKeyword = תוכן של textbox1
    Strmessage = הטקסט של label1

    כעת השתמשנו בפונקציית Replace אשר נועדה להחליף בין שני דברים, אז מה בעצם החלפנו כאן?
    את Strkeyword שהיא בעצם המילה שהוכנסה ב textbox1 ב Strkeyword + מאפייני עיצוב
    שורה למטה הכרזנו בעצם ש הטקסט label1 שווה לטקסט ב label1 כדי שכל פעם שנכניס מילה חדשה הישנה תימחק

  • תגיות: , , ,

    תגובות בפייסבוק