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

من موسوعة حسوب
< PHP
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الدالة get_html_translation_table() في PHP}}</noinclude>'
 
لا ملخص تعديل
 
(مراجعتان متوسطتان بواسطة مستخدمين اثنين آخرين غير معروضتين)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:الدالة get_html_translation_table() في PHP}}</noinclude>
<noinclude>{{DISPLAYTITLE:الدالة <code>get_html_translation_table()‎</code> في PHP}}</noinclude>
(PHP 4, PHP 5, PHP 7)
 
تُعيد الدالة <code>get_html_translation_table()‎</code> جدول التحويل المستخدم بواسطة الدالتين <code>[[PHP/htmlspecialchars|htmlspecialchars()‎]]</code> و <code>[[PHP/htmlentities|htmlentities()‎]]</code>.
 
== الوصف ==
<syntaxhighlight lang="php">
array get_html_translation_table ([ int $table = HTML_SPECIALCHARS [, int $flags ENT_COMPAT | ENT_HTML401 [, string $encoding = "UTF-8" ]]] )
</syntaxhighlight>تُعيد الدالة <code>get_html_translation_table()‎</code> جدول التحويل المستخدم داخليًا للدالتين  <code>[[PHP/htmlspecialchars|htmlspecialchars()‎]]</code> و <code>[[PHP/htmlentities|htmlentities()‎]]</code>.
 
ملاحظة: تُرَّمز المحارف الخاصة بطرائق متعددة. مثل يُمكن ترميز الحرف <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 ===
نوع الجدول المُعاد إما <code>HTML_ENTITIES</code> أو  <code>HTML_SPECIALCHARS</code>.
 
=== flags ===
قناع bitmask يتكون من واحدة أو أكثر من الرايات المبينة في الجدول التالي. تُحدد هذه الرايات نوع الاقتباسات بالجدول مع نوع المستند الموجه له الجدول. قيمة القناع الإفتراضي هي <code>ENT_COMPAT | ENT_HTML401</code>.
 
==== ثوابت الرايات المُتاحة ====
{| class="wikitable"
!الثابت
!الوصف
|-
|<code>ENT_COMPAT</code>
|يحتوي الجدول مدخلات لعلامات الاقتباس المزدوجة دون علامات الاقتباس المفردة
|-
|<code>ENT_QUOTES</code>
|يحتوي الجدول مدخلات لعلامات الاقتباس المزدوجة وعلامات الاقتباس المفردة
|-
|<code>ENT_NOQUOTES</code>
|لا يحتوي الجدول على علامات إقتباس، مزدوجةً كانت أو مفردة.
|-
|<code>ENT_HTML401</code>
|جدول لمعيار HTML 4.01.
|-
|<code>ENT_XML1</code>
|جدول لمعيار XML1.
|-
|<code>ENT_XHTML</code>
|جدول لمعيار XHTML.
|-
|<code>ENT_HTML5</code>
|جدول لمعيار HTML5.
|}
 
=== encoding ===
يحوي الترميز المستعمل. في حالة عدم ضبط قيمة لهذا الوسيط فستَستَعمِل النُسَخ قبل PHP 5.4.0 الترميز ISO-8859-1 أما النسخة PHP 5.4.0 وما بعدها فتستعمل الترميز UTF-8. تُدعَم أصناف المحارف التالية:
 
==== ترميزات المحارف المدعومة ====
{| class="wikitable"
!ترميز المحارف
!التسمية
!الوصف
|-
|<code>ISO8859-1</code>
|ISO8859-1
|دول أوروبا الغربية، Latin-1.
|-
|<code>ISO8859-5</code>
|ISO8859-5
|المحارف السيريلية قليلة الاستخدام (اللاتينية أو السيريلية).
|-
|<code>ISO8859-15</code>
|ISO8859-15
|أوروبا الغربية، Latin-9.
 
أُضيفت علامة اليورو، والحروف الفرنسية والفنلندية غير الموجودة في ترميز Latin-1 (أي ISO-8859-1).
|-
|<code>UTF-8</code>
|
|ترميز ASCII المتوافق مع يونيكود (multi-byte 8-bit Unicode).
|-
|<code>cp866</code>
|ibm866, 866
|المحارف السيريلية الخاصة بنظام التشغيل دوس (DOS).
|-
|<code>cp1251</code>
|Windows-1251, win-1251, 1251
|المحارف السيريلية الخاصة بـنظام التشغيل ويندوز.
|-
|<code>cp1252</code>
|Windows-1252, 1252
|المحارف الخاصة بـنظام التشغيل ويندوز لدول أوروبا الغربية.
|-
|<code>KOI8-R</code>
|koi8-ru, koi8r
|الروسية.
|-
|<code>BIG5</code>
|950
|الصينية التقليدية، تستخدم أساسا في تايوان.
|-
|<code>GB2312</code>
|936
|الصينية المبسطة، مجموعة المحارف الوطنية القياسية.
|-
|<code>BIG5-HKSCS</code>
|
|مجموعة محارف Big5 مع إضافات هونغ كونغ، الصينية التقليدية.
|-
|<code>SHIFT_JIS</code>
|SJIS، SJIS-win، cp932، 932
|اليابانية
|-
|<code>EUC-JP</code>
|‎EUCJP, eucJP-win
|اليابانية
|-
|<code>MacRoman</code>
|
|مجموعة المحارف التي يستخدمها نظام التشغيل Mac OS.
|-
|<code><nowiki>''''</nowiki></code>
|
|سلسلة نصية فارغة تُشَغِل الكشف عن الترميز من ترميز المحارف المستعمل في ملف السكربت (وذلك عبر Zend multibyte)، أو من قيمة ‎،<code>default_charset</code> أو المحلية الحالية (راجع <code>[[PHP/nl langinfo|nl_langinfo()‎]]</code> و <code>[[PHP/setlocale|setlocale()‎]]</code>) بهذا الترتيب، لا يُنصح باستخدام هذه القيمة.
|}
ملاحظة: لا تُعرَف أي ترميزات محارف أخرى من غير المذكورة أعلاه، يُستخدم الترميز الافتراضي في هذه الحالة مع إرسال تحذير.
 
== سجل التغييرات ==
{| class="wikitable"
!الإصدار
!الوصف
|-
|5.4.0
|أصبحت قيمة المعامل <code>encoding</code> الافتراضية هي UTF-8.
|-
|5.4.0
|اُضيفت الثوابت <code>ENT_HTML401</code> و <code>ENT_XML1</code> و <code>ENT_XHTML</code> و <code>ENT_HTML5</code>.
|-
|5.4.3
|أُضيف المعامل <code>encoding</code> للدالة <code>get_html_translation_table()</code>‎.
|}
 
== أمثلة ==
المثال 1: مثال عن جدول التحويل<syntaxhighlight lang="php">
‎<?php
var_dump(get_html_translation_table(HTML_ENTITIES, ENT_QUOTES | ENT_HTML5));
?>
</syntaxhighlight>يُظهِر المثال السابق ما يلي :  <syntaxhighlight lang="text">
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;"
  // ...
}
</syntaxhighlight>
 
== انظر أيضًا ==
* <code>[[PHP/htmlspecialchars|htmlspecialchars()‎]]</code>: تحويل المحارف الخاصة إلى مدخلات HTML.
* <code>[[PHP/htmlentities|htmlentities()‎]]</code>: تحويل المحارف إلى مدخلات HTML.
* <code>[[PHP/html entity decode|html_entity_decode()‎]]</code>: تحويل جميع مدخلات HTML إلى محارفها الموافقة.
 
== مصادر ==
* [http://php.net/manual/en/function.get-html-translation-table.php صفحة الدالة get_html_translation_table في توثيق PHP الرسمي].
[[تصنيف:PHP]]
[[تصنيف:PHP Function]]
[[تصنيف:PHP String]]

المراجعة الحالية بتاريخ 16:50، 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;"
  // ...
}

انظر أيضًا

مصادر