English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل PHP الأساسي

دليل PHP المتقدم

PHP & MySQL

دليل PHP

استخدام دالة PHP htmlspecialchars() و مثال

   دليل الوظائف الـPHP لـ String النصوص

    يُستخدم دالة htmlspecialchars() لتحويل الرموز الخاصة إلى أشكال HTML.

النحو

string htmlspecialchars ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get("default_charset") [, bool $double_encode = true ]]] )

التعريف والاستخدام

لتحويل الرموز الخاصة إلى أشكال HTML.

النتيجة

يُرجع السلسلة المحولة (string).
إذا كانت السلسلة string تحتوي على سلسلة من وحدات الرموز غير الصالحة في الترميز المحدد encoding، فإنها تعود سلسلة فارغة إذا لم يتم تعيين علامة ENT_IGNORE أو ENT_SUBSTITUTE.

الرموز المحددة مسبقًا هي:

  • & (وال) يصبح &

  • " (علامة اقتباس مزدوجة) يصبح "

  • ' (علامة اقتباس وحيدة) يصبح '

  • < (أصغر) يصبح <

  • > (أكبر) يصبح >

ملاحظة:لتحويل الأشكال الخاصة لـ HTML إلى أحرف، استخدم htmlspecialchars_decode() الوظيفة.

المعلمات

الترتيبالمعلمات والشرح
1

string

مطلوب. يحتوي على معلومات حول السلسلة المدخلة.

2

flags

اختياري. تحديد كيفية التعامل مع العلامات، والرموز غير الصالحة واستخدام نوع المستند.

أنواع العلامات الموجودة:

  • ENT_COMPAT - افتراضي. تشفير العلامات المزدوجة فقط.

  • ENT_QUOTES - تشفير العلامات المزدوجة والبسيطة.

  • ENT_NOQUOTES - لا تشفير أي اقتباس.

الرموز غير الصالحة:

  • ENT_IGNORE - تجاهل الرموز غير الصالحة بدلاً من إرجاع 字符串 فارغة. يجب تجنب هذا حيث يمكن أن يكون له تأثير على الأمان.

  • ENT_SUBSTITUTE - استبدال الرموز غير الصالحة برمز محدد يحتوي على رمز الاستبدال Unicode U+FFFD (UTF-8) أو &#FFFD; بدلاً من إرجاع 字符串 فارغة.

  • ENT_DISALLOWED - استبدال الرموز غير الصالحة في نوع المستند المحدد برمز Unicode الاستبدال U+FFFD (UTF-8) أو &#FFFD;.

العلامات الإضافية المحددة لمستندات النوع المحددة:

  • ENT_HTML401 - افتراضي. معالجة الكود كـ HTML 4.01.

  • ENT_HTML5 - معالجة الكود كـ HTML 5.

  • ENT_XML1 - معالجة الكود كـ XML 1.

  • ENT_XHTML - معالجة الكود كـ XHTML.

3

encoding

هي متغير اختياري،يحدد الترميز المستخدم أثناء التحويل.

القيم المسموح بها:

  • UTF-8 - افتراضي. ASCII متوافق مع 8 bits Unicode متعدد الأحرف

  • ISO-8859-1 - أوروبا الغربية

  • ISO-8859-15 - أوروبا الغربية (تضيف الرموز الأوروبية + الأحرف الفرنسية والفنلندية المفقودة في ISO-8859-1)

  • cp866 - مجموعة الأحرف الخاصة بـ DOS لأحرف السيريلية

  • cp1251 - مجموعة الأحرف الخاصة بـ Windows لأحرف السيريلية

  • cp1252 - مجموعة الأحرف الخاصة بـ Windows لأوروبا الغربية

  • KOI8-R - الروسية

  • BIG5 - اللغة الصينية المبسطة، تستخدم بشكل رئيسي في تايوان

  • GB2312 - اللغة الصينية البسيطة، مجموعة الأحرف القياسية

  • BIG5-HKSCS - BIG5 مع توسيع هونغ كونغ

  • Shift_JIS - اليابانية

  • EUC-JP - اليابانية

  • MacRoman - مجموعة الأحرف المستخدمة في نظام التشغيل Mac

ملاحظة:في إصدارات PHP 5.4 و قبلها،ستُتجاهل الأحرف غير القابلة للتعرف وتُستبدل بـ ISO-8859-1. منذ PHP 5.4،ستُتجاهل الأحرف غير القابلة للتعرف وتُستبدل بـ UTF-8.

4

double_encode

قيمة بولية معينة تحدد ما إذا كان يجب ترميز entities HTML الموجودة بالفعل.
  • TRUE - افتراضي. سيتم تحويل كل entity.

  • FALSE - لن يتم ترميز entities HTML الموجودة بالفعل.

مثال عبر الإنترنت

جرب الأمثلة التالية،تحويل الأحرف المسبقة التحديد إلى entities HTML:

<?php
   //تحويل الأحرف المسبقة التحديد إلى entities HTML،ترميز العلامات雙引و وواحدة
   $input = htmlspecialchars("<a href='https://ar.oldtoolbag.com'>w3codebox</a>", ENT_QUOTES);
   echo $input;
?>
اختبار لمعرفة‹/›

نتائج الإخراج-

<a href='https://ar.oldtoolbag.com'>w3codebox</a>

دليل الوظائف الـPHP لـ String النصوص