الفرق بين المراجعتين لصفحة: «PHP/get html translation table»

من موسوعة حسوب
< PHP
لا ملخص تعديل
لا ملخص تعديل
سطر 2: سطر 2:
(PHP 4, PHP 5, PHP 7)
(PHP 4, PHP 5, PHP 7)


تُعيد الدالة get_html_translation_table()‎ جدول التحويل المستخدم بواسطة الدالتين htmlspecialchars()‎ و htmlentities()‎.
تُعيد الدالة <code>get_html_translation_table()‎</code> جدول التحويل المستخدم بواسطة الدالتين <code>[[PHP/htmlspecialchars|htmlspecialchars()‎]]</code> و <code>[[PHP/htmlentities|htmlentities()‎]]</code>.


=== الوصف ===
== الوصف ==
<syntaxhighlight lang="php">
<syntaxhighlight lang="php">
array get_html_translation_table ([ int $table = HTML_SPECIALCHARS [, int $flags ENT_COMPAT | ENT_HTML401 [, string $encoding = "UTF-8" ]]] )
array get_html_translation_table ([ int $table = HTML_SPECIALCHARS [, int $flags ENT_COMPAT | ENT_HTML401 [, string $encoding = "UTF-8" ]]] )
</syntaxhighlight>تُعيد الدالة get_html_translation_table()‎ جدول التحويل المستخدم داخليًا للدالتين  htmlspecialchars()‎ و htmlentities()‎.
</syntaxhighlight>تُعيد الدالة <code>get_html_translation_table()‎</code> جدول التحويل المستخدم داخليًا للدالتين  <code>[[PHP/htmlspecialchars|htmlspecialchars()‎]]</code> و <code>[[PHP/htmlentities|htmlentities()‎]]</code>.


ملاحظة: تُرَّمز المحارف الخاصة بطرائق متعددة. مثل يُمكن ترميز الحرف " إلى ‎ &amp;quot;‎أو ‎&#x22. تعيد الدالة get_html_translation_table()‎ الرموز المستعملة بواسطة الدالتين htmlspecialchars()‎ و htmlentities()‎ فقط.
ملاحظة: تُرَّمز المحارف الخاصة بطرائق متعددة. مثل يُمكن ترميز الحرف <code>"</code> إلى ‎ <code>&amp;quot;</code>‎أو <code>‎&#x22</code>. تعيد الدالة <code>get_html_translation_table()‎</code> الرموز المستعملة بواسطة الدالتين <code>[[PHP/htmlspecialchars|htmlspecialchars()‎]]</code> و <code>[[PHP/htmlentities|htmlentities()‎]]</code> فقط.


=== المعاملات ===
== المعاملات ==


==== table ====
=== table ===
نوع الجدول المُعاد إما HTML_ENTITIES أو  HTML_SPECIALCHARS.
نوع الجدول المُعاد إما <code>HTML_ENTITIES</code> أو  <code>HTML_SPECIALCHARS</code>.


==== flags ====
=== flags ===
قناع bitmask يتكون من واحدة أو أكثر من الرايات المبينة في الجدول التالي. تُحدد هذه الرايات نوع الاقتباسات بالجدول مع نوع المستند الموجه له الجدول. قيمة القناع الإفتراضي هي ENT_COMPAT | ENT_HTML401.
قناع bitmask يتكون من واحدة أو أكثر من الرايات المبينة في الجدول التالي. تُحدد هذه الرايات نوع الاقتباسات بالجدول مع نوع المستند الموجه له الجدول. قيمة القناع الإفتراضي هي <code>ENT_COMPAT | ENT_HTML401</code>.


===== ثوابت الرايات المُتاحة =====
==== ثوابت الرايات المُتاحة ====
{| class="wikitable"
{| class="wikitable"
|الثابت
!الثابت
|الوصف
!الوصف
|-
|-
|ENT_COMPAT
|<code>ENT_COMPAT</code>
|يحتوي الجدول مدخلات لعلامات الاقتباس المزدوجة دون علامات الاقتباس المفردة
|يحتوي الجدول مدخلات لعلامات الاقتباس المزدوجة دون علامات الاقتباس المفردة
|-
|-
|ENT_QUOTES
|<code>ENT_QUOTES</code>
|يحتوي الجدول مدخلات لعلامات الاقتباس المزدوجة وعلامات الاقتباس المفردة
|يحتوي الجدول مدخلات لعلامات الاقتباس المزدوجة وعلامات الاقتباس المفردة
|-
|-
|ENT_NOQUOTES
|<code>ENT_NOQUOTES</code>
|لا يحتوي الجدول على علامات إقتباس، مزدوجةً كانت أو مفردة.
|لا يحتوي الجدول على علامات إقتباس، مزدوجةً كانت أو مفردة.
|-
|-
|ENT_HTML401
|<code>ENT_HTML401</code>
|جدول لمعيار HTML 4.01.
|جدول لمعيار HTML 4.01.
|-
|-
|ENT_XML1
|<code>ENT_XML1</code>
|جدول لمعيار XML1.
|جدول لمعيار XML1.
|-
|-
|ENT_XHTML
|<code>ENT_XHTML</code>
|جدول لمعيار XHTML.
|جدول لمعيار XHTML.
|-
|-
|ENT_HTML5
|<code>ENT_HTML5</code>
|جدول لمعيار HTML5.
|جدول لمعيار HTML5.
|}
|}


==== encoding ====
=== encoding ===
يحوي الترميز المستعمل. في حالة عدم ضبط قيمة لهذا الوسيط فستَستَعمِل النُسَخ قبل PHP 5.4.0 الترميز ISO-8859-1 أما النسخة PHP 5.4.0 وما بعدها فتستعمل الترميز UTF-8. تُدعَم أصناف المحارف التالية:
يحوي الترميز المستعمل. في حالة عدم ضبط قيمة لهذا الوسيط فستَستَعمِل النُسَخ قبل PHP 5.4.0 الترميز ISO-8859-1 أما النسخة PHP 5.4.0 وما بعدها فتستعمل الترميز UTF-8. تُدعَم أصناف المحارف التالية:


===== ترميزات المحارف المدعومة =====
==== ترميزات المحارف المدعومة ====
{| class="wikitable"
{| class="wikitable"
|ترميز المحارف
!ترميز المحارف
|التسمية
!التسمية
|الوصف
!الوصف
|-
|-
|ISO8859-1
|<code>ISO8859-1</code>
|ISO8859-1
|ISO8859-1
|دول أوروبا الغربية، Latin-1.
|دول أوروبا الغربية، Latin-1.
|-
|-
|ISO8859-5
|<code>ISO8859-5</code>
|ISO8859-5
|ISO8859-5
|المحارف السيريلية قليلة الاستخدام (اللاتينية أو السيريلية).
|المحارف السيريلية قليلة الاستخدام (اللاتينية أو السيريلية).
|-
|-
|ISO8859-15
|<code>ISO8859-15</code>
|ISO8859-15
|ISO8859-15
|أوروبا الغربية، Latin-9.
|أوروبا الغربية، Latin-9.
سطر 69: سطر 69:
أُضيفت علامة اليورو، والحروف الفرنسية والفنلندية غير الموجودة في ترميز Latin-1 (أي ISO-8859-1).
أُضيفت علامة اليورو، والحروف الفرنسية والفنلندية غير الموجودة في ترميز Latin-1 (أي ISO-8859-1).
|-
|-
|UTF-8
|<code>UTF-8</code>
|
|
|ترميز ASCII المتوافق مع يونيكود (multi-byte 8-bit Unicode).
|ترميز ASCII المتوافق مع يونيكود (multi-byte 8-bit Unicode).
|-
|-
|cp866
|<code>cp866</code>
|ibm866, 866
|ibm866, 866
|المحارف السيريلية الخاصة بنظام التشغيل دوس (DOS).
|المحارف السيريلية الخاصة بنظام التشغيل دوس (DOS).
|-
|-
|cp1251
|<code>cp1251</code>
|Windows-1251, win-1251, 1251
|Windows-1251, win-1251, 1251
|المحارف السيريلية الخاصة بـنظام التشغيل ويندوز.
|المحارف السيريلية الخاصة بـنظام التشغيل ويندوز.
|-
|-
|cp1252
|<code>cp1252</code>
|Windows-1252, 1252
|Windows-1252, 1252
|المحارف الخاصة بـنظام التشغيل ويندوز لدول أوروبا الغربية.
|المحارف الخاصة بـنظام التشغيل ويندوز لدول أوروبا الغربية.
|-
|-
|KOI8-R
|<code>KOI8-R</code>
|koi8-ru, koi8r
|koi8-ru, koi8r
|الروسية.
|الروسية.
|-
|-
|BIG5
|<code>BIG5</code>
|950
|950
|الصينية التقليدية، تستخدم أساسا في تايوان.
|الصينية التقليدية، تستخدم أساسا في تايوان.
|-
|-
|GB2312
|<code>GB2312</code>
|936
|936
|الصينية المبسطة، مجموعة المحارف الوطنية القياسية.
|الصينية المبسطة، مجموعة المحارف الوطنية القياسية.
|-
|-
|BIG5-HKSCS
|<code>BIG5-HKSCS</code>
|
|
|مجموعة محارف Big5 مع إضافات هونغ كونغ، الصينية التقليدية.
|مجموعة محارف Big5 مع إضافات هونغ كونغ، الصينية التقليدية.
|-
|-
|SHIFT_JIS
|<code>SHIFT_JIS</code>
|SJIS، SJIS-win، cp932، 932
|SJIS، SJIS-win، cp932، 932
|اليابانية
|اليابانية
|-
|-
|EUC-JP
|<code>EUC-JP</code>
|‎EUCJP, eucJP-win
|‎EUCJP, eucJP-win
|اليابانية
|اليابانية
|-
|-
|MacRoman
|<code>MacRoman</code>
|
|
|مجموعة المحارف التي يستخدمها نظام التشغيل Mac OS.
|مجموعة المحارف التي يستخدمها نظام التشغيل Mac OS.
|-
|-
|<nowiki>''''</nowiki>
|<code><nowiki>''''</nowiki></code>
|
|
|سلسلة نصية فارغة تُشَغِل الكشف عن الترميز من ترميز المحارف المستعمل في ملف السكربت (وذلك عبر Zend multibyte)، أو من قيمة ‎،default_charset أو المحلية الحالية (راجع nl_langinfo()‎ و setlocale()‎) بهذا الترتيب، لا يُنصح باستخدام هذه القيمة.
|سلسلة نصية فارغة تُشَغِل الكشف عن الترميز من ترميز المحارف المستعمل في ملف السكربت (وذلك عبر Zend multibyte)، أو من قيمة ‎،<code>default_charset</code> أو المحلية الحالية (راجع <code>[[PHP/nl langinfo|nl_langinfo()‎]]</code> و <code>[[PHP/setlocale|setlocale()‎]]</code>) بهذا الترتيب، لا يُنصح باستخدام هذه القيمة.
|}
|}
ملاحظة: لا تُعرَف أي ترميزات محارف أخرى من غير المذكورة أعلاه، يُستخدم الترميز الافتراضي في هذه الحالة مع إرسال تحذير.


==== ملاحظة: لا تُعرَف أي ترميزات محارف أخرى من غير المذكورة أعلاه، يُستخدم الترميز الافتراضي في هذه الحالة مع إرسال تحذير. ====
== سجل التغييرات ==
 
=== سجل التغييرات ===
{| class="wikitable"
{| class="wikitable"
|الإصدار
!الإصدار
|الوصف
!الوصف
|-
|-
|5.4.0
|5.4.0
|أصبحت قيمة المعامل encoding الافتراضية هي UTF-8.
|أصبحت قيمة المعامل <code>encoding</code> الافتراضية هي UTF-8.
|-
|-
|5.4.0
|5.4.0
|اُضيفت الثوابت ENT_HTML401 و ENT_XML1 و ENT_XHTML و ENT_HTML5.
|اُضيفت الثوابت <code>ENT_HTML401</code> و <code>ENT_XML1</code> و <code>ENT_XHTML</code> و <code>ENT_HTML5</code>.
|-
|-
|5.4.3
|5.4.3
|أُضيف المعامل encoding للدالة get_html_translation_table()‎.
|أُضيف المعامل <code>encoding</code> للدالة <code>get_html_translation_table()</code>‎.
|}
|}


=== أمثلة ===
== أمثلة ==
 
المثال 1: مثال عن جدول التحويل<syntaxhighlight lang="php">
==== المثال 1: مثال عن جدول التحويل ====
<syntaxhighlight lang="php">
‎<?php
‎<?php
var_dump(get_html_translation_table(HTML_ENTITIES, ENT_QUOTES | ENT_HTML5));
var_dump(get_html_translation_table(HTML_ENTITIES, ENT_QUOTES | ENT_HTML5));
?>
?>
 
</syntaxhighlight>يُظهِر المثال السابق ما يلي :  <syntaxhighlight lang="text">
 
array(1510) {
</syntaxhighlight>يُظهِر المثال السابق ما يلي :  <syntaxhighlight lang="php">
  ["
‎array(1510) {
 
 ["
 
"]=>
"]=>
 
  string(9) "&NewLine;"
 string(9) "&NewLine;"
  ["!"]=>
 
  string(6) "&excl;"
 ["!"]=>
  ["""]=>
 
  string(6) "&quot;"
 string(6) "&excl;"
  ["#"]=>
 
  string(5) "&num;"
 ["""]=>
  ["$"]=>
 
  string(8) "&dollar;"
 string(6) "&quot;"
  ["%"]=>
 
  string(8) "&percnt;"
 ["#"]=>
  ["&"]=>
 
  string(5) "&amp;"
 string(5) "&num;"
  ["'"]=>
 
  string(6) "&apos;"
 ["$"]=>
  // ...
 
 string(8) "&dollar;"
 
 ["%"]=>
 
 string(8) "&percnt;"
 
 ["&"]=>
 
 string(5) "&amp;"
 
 ["'"]=>
 
 string(6) "&apos;"
 
 // ...
 
}
}
</syntaxhighlight>
</syntaxhighlight>


=== انظر أيضًا ===
== انظر أيضًا ==
* htmlspecialchars()‎: تحويل المحارف الخاصة إلى مدخلات HTML.
* <code>[[PHP/htmlspecialchars|htmlspecialchars()‎]]</code>: تحويل المحارف الخاصة إلى مدخلات HTML.
* htmlentities()‎: تحويل المحارف إلى مدخلات HTML.
* <code>[[PHP/htmlentities|htmlentities()‎]]</code>: تحويل المحارف إلى مدخلات HTML.
* html_entity_decode()‎: تحويل جميع مدخلات HTML إلى محارفها الموافقة.
* <code>[[PHP/html entity decode|html_entity_decode()‎]]</code>: تحويل جميع مدخلات HTML إلى محارفها الموافقة.


=== مصادر ===
== مصادر ==
* صفحة الدالة get_html_translation_table في توثيق PHP الرسمي.
* [http://php.net/manual/en/function.get-html-translation-table.php صفحة الدالة get_html_translation_table في توثيق PHP الرسمي].

مراجعة 16:48، 5 أبريل 2018

(PHP 4, PHP 5, PHP 7)

تُعيد الدالة get_html_translation_table()‎ جدول التحويل المستخدم بواسطة الدالتين htmlspecialchars()‎ و htmlentities()‎.

الوصف

array get_html_translation_table ([ int $table = HTML_SPECIALCHARS [, int $flags ENT_COMPAT | ENT_HTML401 [, string $encoding = "UTF-8" ]]] )

تُعيد الدالة get_html_translation_table()‎ جدول التحويل المستخدم داخليًا للدالتين  htmlspecialchars()‎ و htmlentities()‎.

ملاحظة: تُرَّمز المحارف الخاصة بطرائق متعددة. مثل يُمكن ترميز الحرف " إلى ‎ &quot;‎أو ‎&#x22. تعيد الدالة get_html_translation_table()‎ الرموز المستعملة بواسطة الدالتين htmlspecialchars()‎ و htmlentities()‎ فقط.

المعاملات

table

نوع الجدول المُعاد إما HTML_ENTITIES أو  HTML_SPECIALCHARS.

flags

قناع bitmask يتكون من واحدة أو أكثر من الرايات المبينة في الجدول التالي. تُحدد هذه الرايات نوع الاقتباسات بالجدول مع نوع المستند الموجه له الجدول. قيمة القناع الإفتراضي هي ENT_COMPAT | ENT_HTML401.

ثوابت الرايات المُتاحة

الثابت الوصف
ENT_COMPAT يحتوي الجدول مدخلات لعلامات الاقتباس المزدوجة دون علامات الاقتباس المفردة
ENT_QUOTES يحتوي الجدول مدخلات لعلامات الاقتباس المزدوجة وعلامات الاقتباس المفردة
ENT_NOQUOTES لا يحتوي الجدول على علامات إقتباس، مزدوجةً كانت أو مفردة.
ENT_HTML401 جدول لمعيار HTML 4.01.
ENT_XML1 جدول لمعيار XML1.
ENT_XHTML جدول لمعيار XHTML.
ENT_HTML5 جدول لمعيار HTML5.

encoding

يحوي الترميز المستعمل. في حالة عدم ضبط قيمة لهذا الوسيط فستَستَعمِل النُسَخ قبل PHP 5.4.0 الترميز ISO-8859-1 أما النسخة PHP 5.4.0 وما بعدها فتستعمل الترميز UTF-8. تُدعَم أصناف المحارف التالية:

ترميزات المحارف المدعومة

ترميز المحارف التسمية الوصف
ISO8859-1 ISO8859-1 دول أوروبا الغربية، Latin-1.
ISO8859-5 ISO8859-5 المحارف السيريلية قليلة الاستخدام (اللاتينية أو السيريلية).
ISO8859-15 ISO8859-15 أوروبا الغربية، Latin-9.

أُضيفت علامة اليورو، والحروف الفرنسية والفنلندية غير الموجودة في ترميز Latin-1 (أي ISO-8859-1).

UTF-8 ترميز ASCII المتوافق مع يونيكود (multi-byte 8-bit Unicode).
cp866 ibm866, 866 المحارف السيريلية الخاصة بنظام التشغيل دوس (DOS).
cp1251 Windows-1251, win-1251, 1251 المحارف السيريلية الخاصة بـنظام التشغيل ويندوز.
cp1252 Windows-1252, 1252 المحارف الخاصة بـنظام التشغيل ويندوز لدول أوروبا الغربية.
KOI8-R koi8-ru, koi8r الروسية.
BIG5 950 الصينية التقليدية، تستخدم أساسا في تايوان.
GB2312 936 الصينية المبسطة، مجموعة المحارف الوطنية القياسية.
BIG5-HKSCS مجموعة محارف Big5 مع إضافات هونغ كونغ، الصينية التقليدية.
SHIFT_JIS SJIS، SJIS-win، cp932، 932 اليابانية
EUC-JP ‎EUCJP, eucJP-win اليابانية
MacRoman مجموعة المحارف التي يستخدمها نظام التشغيل Mac OS.
'''' سلسلة نصية فارغة تُشَغِل الكشف عن الترميز من ترميز المحارف المستعمل في ملف السكربت (وذلك عبر Zend multibyte)، أو من قيمة ‎،default_charset أو المحلية الحالية (راجع nl_langinfo()‎ و setlocale()‎) بهذا الترتيب، لا يُنصح باستخدام هذه القيمة.

ملاحظة: لا تُعرَف أي ترميزات محارف أخرى من غير المذكورة أعلاه، يُستخدم الترميز الافتراضي في هذه الحالة مع إرسال تحذير.

سجل التغييرات

الإصدار الوصف
5.4.0 أصبحت قيمة المعامل encoding الافتراضية هي UTF-8.
5.4.0 اُضيفت الثوابت ENT_HTML401 و ENT_XML1 و ENT_XHTML و ENT_HTML5.
5.4.3 أُضيف المعامل encoding للدالة get_html_translation_table()‎.

أمثلة

المثال 1: مثال عن جدول التحويل

<?php
var_dump(get_html_translation_table(HTML_ENTITIES, ENT_QUOTES | ENT_HTML5));
?>

يُظهِر المثال السابق ما يلي :  

array(1510) {
  ["
"]=>
  string(9) "&NewLine;"
  ["!"]=>
  string(6) "&excl;"
  ["""]=>
  string(6) "&quot;"
  ["#"]=>
  string(5) "&num;"
  ["$"]=>
  string(8) "&dollar;"
  ["%"]=>
  string(8) "&percnt;"
  ["&"]=>
  string(5) "&amp;"
  ["'"]=>
  string(6) "&apos;"
  // ...
}

انظر أيضًا

مصادر