لقد قرأت وورد المهنية وتقول:
يتم استخدام دالة
esc_html
لغسل البيانات التي تحتوي على HTML. تعمل هذه الوظيفة على تشفير أحرف خاصة في كيانات HTML الخاصة بهاتستخدم وظيفة
esc_attr
للهروب من سمات HTML
esc_url
. يجب استخدام هذه الوظيفة لفرك URL للأحرف غير القانونية. على الرغم من أن href تقنيًا سمة HTML
ما الفرق بين هذه؟
لو كان لدي
<script>alert('hello world!');</script>this is some content
هل سيتم تحويل كل < >
إلى < >
؟ هل سيكون عنوان URL يشبه %xxx
؟
esc_html
و esc_attr
شبه متطابقين ، والفرق الوحيد هو أن الإخراج يتم تمريره من خلال مرشحات تحمل أسماء مختلفة (esc_html
و attribute_escape
على التوالي).
esc_url
أكثر تعقيدًا وتحديداً ، فهو يتعامل مع الأحرف التي لا يمكن أن تكون في عناوين URL والبروتوكولات المسموح بها (يمكن تمرير قائمة هذه الوسائط كوسيطة ثانية). سيتم أيضًا إدخال إدخال مسبق مع بروتوكول http://
إذا لم يكن موجودًا (والرابط ليس نسبيًا).