שלח תשובה

זירת השאלות

512
צפיות
1
תשובות

צימצום ביטוי רגולרי פשוט

,‏ 22 במרץ, 2006

הי.
אני בונה מנוע חיפש באתר שאמור לחפש בעדיפות ראשונה מילים שלמות (מילה שמוקפת ברווחים או נקודה,פסיק וכו) ורק אחר כך מילים שהן חלק ממילים אחרים. למשל המילה "מתוק" תתן דירוג גבוהה יותר ל"מתוק" מאשר ל"מתוקים"
השתמשתי בביטוי:

<code>
ereg('[- /.,]'.$searchkey.'[- /.,]',$title)
</code>

הבעיה היא מה אם המילה מופיע בסוף או בתחילת המחרוזת (ואינה מוקפת ברווחים.
בעקרון מספיק להוסיף תנאים של

<code>
ereg('^'.$searchkey,$title)
ereg($searchkey.'$',$title)
</code>

השאלה היא האם יש דרך אלגנטית לכתוב את הביטוי הזה (הוא נשמה לי משהו די נפוץ)
תודה


תגיות:

1 תשובות

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

    תשתמש ב-b
    b מסמל bound כלומר גבולות, יכול להיות שהגבול הוא תחילת מילה/סוף מילה, או אפילו רווח, פסיק, מקף, וכו'.

שלח תשובה