الفرق بين المراجعتين ل"Twig/autoescape"
< Twig
اذهب إلى التنقل
اذهب إلى البحث
جميل-بيلوني (نقاش | مساهمات) ط |
جميل-بيلوني (نقاش | مساهمات) ط |
||
سطر 20: | سطر 20: | ||
{{ safe_value|raw }} | {{ safe_value|raw }} | ||
{% endautoescape %} | {% endautoescape %} | ||
− | </syntaxhighlight>الدوال التي تعيد بيانات القالب -مثل [[Twig/macro|وسم الشيفرات الجامعة | + | </syntaxhighlight>الدوال التي تعيد بيانات القالب -مثل [[Twig/macro|وسم الشيفرات الجامعة macros]] و [[Twig/parent|الدالة <code>parent</code>]]- تعيد دائمًا ترميزًا آمنًا safe markup. |
− | لاحظ أن Twig لا يهرب القيمة المهربة بواسطة فلتر <code>[[Twig/escape|escape]]</code>، ولا يهرِّب التعابير الساكنة | + | لاحظ أن Twig لا يهرب القيمة المهربة بواسطة فلتر <code>[[Twig/escape|escape]]</code>، ولا يهرِّب التعابير الساكنة static expressions:<syntaxhighlight lang="twig"> |
{% set hello = "<strong>Hello</strong>" %} | {% set hello = "<strong>Hello</strong>" %} | ||
{{ hello }} | {{ hello }} |
مراجعة 06:11، 11 مايو 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".