tigtools

מקודד / מפענח ישויות HTML

הפוך טקסט לבטוח לשיבוץ ב-HTML, או הפוך ישויות כמו & ו-é חזרה לתווים רגילים.

פועל בדפדפן שלך ללא הרשמה

כיוון

התווים &, <, >, " ו־' תמיד מקודדים. תווים אחרים מומרים רק אם בוחרים אפשרות לתווים שאינם ASCII.

איך להשתמש בו

  1. בחר 'קידוד' כדי להפוך טקסט לבטוח לשימוש ב-HTML, או 'פענוח' כדי להחזיר ישויות לתווים.
  2. בעת הקידוד, בחר אם אותיות עם סימנים וסמלים יישארו כפי שהם או יהפכו לישויות.
  3. הקלד או הדבק את הטקסט; התוצאה מתעדכנת מיד.
  4. העתק את התוצאה, או השתמש ב'השתמש בפלט כקלט' כדי לוודא שהיא מפוענחת חזרה למקור.

איך זה עובד

ב-HTML, למספר תווים יש משמעות מיוחדת: < מתחיל תג, & מתחיל ישות, ו- " או ' מסיימים ערך מאפיין. כדי להציגם כטקסט, יש לכתוב אותם כהפניות תווים: &lt; עבור <, &gt; עבור >, &amp; עבור &, &quot; עבור " ו- &#39; עבור '. הגרש משתמש בצורה המספרית מכיוון ש- &apos; אינו מוגדר ב-HTML 4.

כל שאר התווים, כולל אותיות עם סימני הטעמה, טקסט סיני ואימוג'י, יכולים להיכתב ישירות כאשר הדף נשמר ומוגש כ-UTF-8, שהוא ברירת המחדל לאתרים מודרניים. המרתם לישויות נחוצה רק למערכות שאינן בטוחות ל-UTF-8, כגון כמה תבניות אימייל ישנות או מסדי נתונים. לאחר מכן ניתן לבחור ישויות עם שם כמו &eacute; כאשר קיים שם נפוץ (עם גיבוי מספרי לכל השאר) או הפניות מספריות כמו &#xE9; לכל תו.

הפענוח אינו משתמש במפענח ה-HTML של הדפדפן. הוא משתמש בטבלה מובנית עם כל 252 הישויות בעלות השם מ-HTML 4.01, &apos; וכ-30 שמות HTML5 נפוצים, בתוספת הפניות עשרוניות והקסדצימליות. הפניות מספריות פועלות לפי כללי HTML5: &#0;, ערכי surrogate וערכים מעל U+10FFFF הופכים לתו ההחלפה , וערכים 128–159 נקראים כ-Windows-1252, כך ש- &#150; הופך לקו מפריד (en dash). כמה שמות ישנים כמו &amp ו- &copy מתקבלים גם ללא נקודה-פסיק סוגרת, כפי שדפדפנים עושים. HTML5 מגדיר מעל 2,000 שמות; נדירים מחוץ לטבלה נשארים ללא שינוי ומופיעים ברשימה.

בריחת טקסט לפני הכנסתו ל-HTML היא הגנה חשובה מפני cross-site scripting (XSS), אך היא נכונה רק לתוכן אלמנט ולערכי מאפיין במרכאות. טקסט המוצב בתוך בלוק <script>, מאפיין style או URL דורש בריחה שונה.

דוגמאות

הצגת קוד בדף אינטרנט

כדי להציג <div class="box"> כטקסט בפוסט בבלוג, קודדו אותו ל-&lt;div class=&quot;box&quot;&gt;. הדפדפן מציג את התגית המקורית במקום ליצור אלמנט.

הכנת טקסט לתבנית אימייל ישנה

עם „ישויות בשם כשניתן”, „Café – 5 €” הופך ל-Caf&eacute; &ndash; 5 &euro;, מה שמוצג כראוי גם אם האימייל נשלח עם ערכת תווים שאינה UTF-8.

ניקוי טקסט מגרידה או מייצוא

ייצוא CMS מכיל Fish &amp; Chips &#8211; &pound;9. הפענוח מחזיר Fish & Chips – £9, מוכן להדבקה בגיליון אלקטרוני.

שאלות נפוצות

אילו תווים חייבים לקודד ב-HTML?

בתוכן אלמנט, חובה לקודד את & ואת < (מומלץ גם את >). בתוך ערכי מאפיין, קודדו גם את תו המירכאות המקיף את הערך. קידוד כל חמשת התווים (& < > " ') בכל מקום הוא הכלל הפשוט והבטוח שבו נוקט הכלי הזה.

מה ההבדל בין ישויות עם שם לישויות מספריות?

ישויות עם שם כמו &copy; קלות יותר לקריאה אך קיימות רק עבור קבוצה מוגבלת של תווים. ייצוגים מספריים כמו &#169; (עשרוני) או &#xA9; (הקסדצימלי) עובדים עבור כל תו Unicode, כולל אימוג׳י.

מדוע &nbsp; מפוענח למשהו שנראה כמו רווח?

&nbsp; הוא רווח לא שביר (U+00A0). הוא נראה כמו רווח רגיל, אך מונע מעבר שורה ו-HTML אינו מצמצם אותו. זהו תו שונה מהרווח הרגיל, מה שחשוב כשמשווים או מחפשים טקסט.

האם צריך לקודד אותיות עם סימנים כמו é?

לא, אם הדף שלך משתמש ב-UTF-8 (<meta charset="utf-8">), כפי שעושים כמעט כל הדפים המודרניים. השאר את הגדרת ברירת המחדל ורק חמשת התווים המיוחדים יקודדו.

האם קידוד מספיק כדי למנוע XSS?

זה מספיק עבור טקסט לא מהימן שמוכנס לתוכן אלמנט HTML או לתוך ערכי מאפיין במירכאות. זה לא מספיק עבור קוד JavaScript, CSS, מאפיינים ללא מירכאות או כתובות URL כמו href="javascript:…", שדורשים טיפול תלוי הקשר.

פרטיות

הקידוד והפענוח מתבצעים באמצעות פעולות מחרוזת פשוטות בדפדפן שלך; הטקסט שלך לעולם אינו מעובד כ-HTML, אינו מועלה, אינו נשמר ואינו נכלל בניתוח נתונים.