الفرق بين المراجعتين ل"Twig/autoescape"
< Twig
اذهب إلى التنقل
اذهب إلى البحث
أسامه-دمراني (نقاش | مساهمات) (1.0: إضافة عنوان الصفحة.) |
أسامه-دمراني (نقاش | مساهمات) (إدخال 2.0 تمام المحتوى وانظر أيضًا والتصانيف والمصادر.) |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:الوسم autoescape في Twig}}</noinclude> | <noinclude>{{DISPLAYTITLE:الوسم autoescape في Twig}}</noinclude> | ||
+ | تس{{DISPLAYTITLE:الوسم autoescape في Twig}}تطيع تحديد جزء من قالب ما من أجل التحكم في تهريبه باستخدام الوسم <code>autoescape</code> كما يلي:<syntaxhighlight lang="twig"> | ||
+ | {% autoescape %} | ||
+ | HTML كل ما في هذه الكتلة سيُهرَّب باستخدام خطة | ||
+ | {% endautoescape %} | ||
+ | |||
+ | {% autoescape 'html' %} | ||
+ | HTML كل ما في هذه الكتلة سيُهرَّب باستخدام خطة | ||
+ | {% endautoescape %} | ||
+ | |||
+ | {% autoescape 'js' %} | ||
+ | JS كل ما في هذه الكتلة سيُهرَّب باستخدام خطة | ||
+ | {% endautoescape %} | ||
+ | |||
+ | {% autoescape false %} | ||
+ | كل ما في هذه الكتلة سيُطبع كما هو. | ||
+ | {% endautoescape %} | ||
+ | </syntaxhighlight>عند تفعيل التهريب التلقائي فسيُهرَّب كل شيء افتراضيًا عدا القيم المحددة صراحة أنها آمنة، فتلك يمكن تحديدها في القالب باستخدام الفلتر <code>[[Twig/raw|raw]]</code>:<syntaxhighlight lang="twig"> | ||
+ | {% autoescape %} | ||
+ | {{ safe_value|raw }} | ||
+ | {% endautoescape %} | ||
+ | </syntaxhighlight>الدوال التي تعيد بيانات القالب -مثل [[Twig/macro|وسم الشيفرات الجامعة (macros)]] و [[Twig/parent|الدالة <code>parent</code>]]- تعيد دائمًا ترميزًا آمنًا (safe markup). | ||
+ | |||
+ | لاحظ أن Twig لا يهرب القيمة المهربة بواسطة فلتر <code>[[Twig/escape|escape]]</code>، ولا يهرِّب التعابير الساكنة (static expressions):<syntaxhighlight lang="twig"> | ||
+ | {% set hello = "<strong>Hello</strong>" %} | ||
+ | {{ hello }} | ||
+ | {{ "<strong>world</strong>" }} | ||
+ | </syntaxhighlight>سيُخرج التعبير السابق هكذا: "<nowiki><strong>Hello</strong></nowiki> world". | ||
+ | |||
+ | == انظر أيضًا == | ||
+ | |||
+ | * [https://wiki.hsoub.com/Twig/intro مقدمة عن Twig.] | ||
+ | * [https://wiki.hsoub.com/Twig/api Twig للمطورين.] | ||
+ | * [https://wiki.hsoub.com/Twig/escape الوسم escape.] | ||
+ | * الدالة parent. | ||
+ | |||
+ | == المصادر == | ||
+ | |||
+ | * [https://twig.symfony.com/doc/3.x/tags/autoescape.html صفحة الوسم autoescape في توثيق Twig الرسمي]. | ||
+ | |||
+ | [[تصنيف:Twig]] | ||
+ | [[تصنيف:Twig Tags]] | ||
+ | [[تصنيف:Twig Autoescape T]] |
مراجعة 13:12، 24 أبريل 2021
تستطيع تحديد جزء من قالب ما من أجل التحكم في تهريبه باستخدام الوسم autoescape
كما يلي:
{% autoescape %}
HTML كل ما في هذه الكتلة سيُهرَّب باستخدام خطة
{% endautoescape %}
{% autoescape 'html' %}
HTML كل ما في هذه الكتلة سيُهرَّب باستخدام خطة
{% endautoescape %}
{% autoescape 'js' %}
JS كل ما في هذه الكتلة سيُهرَّب باستخدام خطة
{% endautoescape %}
{% autoescape false %}
كل ما في هذه الكتلة سيُطبع كما هو.
{% endautoescape %}
عند تفعيل التهريب التلقائي فسيُهرَّب كل شيء افتراضيًا عدا القيم المحددة صراحة أنها آمنة، فتلك يمكن تحديدها في القالب باستخدام الفلتر raw
:
{% autoescape %}
{{ safe_value|raw }}
{% endautoescape %}
الدوال التي تعيد بيانات القالب -مثل وسم الشيفرات الجامعة (macros) و الدالة parent
- تعيد دائمًا ترميزًا آمنًا (safe markup).
لاحظ أن Twig لا يهرب القيمة المهربة بواسطة فلتر escape
، ولا يهرِّب التعابير الساكنة (static expressions):
{% set hello = "<strong>Hello</strong>" %}
{{ hello }}
{{ "<strong>world</strong>" }}
سيُخرج التعبير السابق هكذا: "<strong>Hello</strong> world".
انظر أيضًا
- مقدمة عن Twig.
- Twig للمطورين.
- الوسم escape.
- الدالة parent.