![]() |
מחפש דרך להשוואה בין מספר טקסטים
שלום
יש לי שלושה טקסטים שהמשתמש הזין (פשוט טקסט) אני רוצה להשוות ביניהם ולדעת מי מבין הטקסטים יותר דומה למי יש לציין שהטקסטים בעברית איך הייתם עושים את זה?? |
השאלה איך אתה מגדיר דומה ?
|
הייתי מנסה עם base64_decode... או md5 אבל שוב תלוי מה אורך הטקסט...
תנסה את מה שאמרתי.. ותשווה אח"כ PHP קוד:
|
ציטוט:
md5 הוא אלגוריתם הצפנה וכל הרעיון באלגוריתמים כאלה שאם אני אצפין "my name is nitsan" או "my name is aitsan" (הבדל של אות אחת) הכל יהיה שונה לגמריי. base64 בעצם מבצע העברת בסיס, למה זה יעזור? ולנושא - תסתכל על http://php.net/manual/en/function.similar-text.php ועל http://www.php.net/manual/en/function.levenshtein.php |
אתה יודע זה לא שאני משווה טקסטים כל היום אני לא עוסק בחקר. השיטות שהצגתי אפשריות גם. כמו שאמרת "הבדל של אות אחת הכל יהיה שונה לגמריי". משמה -> עדיין אתה יכול לבדוק 2 strings האם הם זהים.
נקודה למחשבה... והצגת פונקציות יותר טובות... |
תריץ לולאה שמשווה תו תו ובסוף רושמת כמה שוני יש בינהם.
או ללכת על משהו קיים: http://php.net/manual/en/function.similar-text.php השוואה בין קבצים/מסמכים: אתה עובר על הקבצים שורה שורה ומשווה, אם יש שוני אתה יכול גם לבדוק מה השוני. |
תשתמש במחרוזת או בביטוי רוגליים .
|
אני רוצה להשוות בין 3 טקסטים.. לא 2!
או אפילו 4... כאשר אני יכול להזין מספר קבצים והאלגוריתם יראה לי טקסטים משותפים לכולם נגיד או ימרקר לי.. תודה!! |
היי ניצן, בניתי לך פונקצייה שמבוססת על הsimilar_text הזה, היא מקבל מערך של stringים ומחזירה לך מערך עם האחוזים:
PHP קוד:
PHP קוד:
PHP קוד:
עריכה: עם שינוי קטן ניתן לעשות שזה לא יהיה רק 0-1 אלא גם 1-0 וכדומה, מה שמקל על הפנייה למערך אבל יכביד על הזיכרון אם יהיו הרבה טקסטים. הפונקצייה שעושה זאת: PHP קוד:
|
הוא לא מחפש משהו שיראה לו אילו מחרוזות דומות באחוזים, הוא רוצה משהו שיבדוק מילים בטקסט ויציג הבדלים.
לא נראה לי שתמצא אלגוריטם טוב לזה בPHP במיוחד לא לכמה טקסטים במקביל ובעברית. |
כל הזמנים הם GMT +2. הזמן כעת הוא 16:23. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ