کتابخانه‌ی استاندارد · متن

قالب template

پر کردن قالب‌های متنی و HTML با مقدارها، با گریز خودکار برای امنیت.

واردسازی قالب
در این صفحه
  1. روال‌ها

قالب متنی است که جاهای خالی دارد؛ هر {{نام}} با مقدار همان نام از یک «زمینه» پر می‌شود. زمینه یک نگاشت از نام به مقدار است.

اگر خروجی HTML است و مقدارها از کاربر آمده‌اند، حتماً رندر اچ تی ام ال را به کار ببرید. این روال نویسه‌های خطرناک مثل < را گریز می‌دهد تا کسی نتواند کد در صفحه‌تان جا بدهد. همین وب‌سایت با این بسته ساخته شده است.

روال‌ها

زمینه جدید NewContext

روال زمینه جدید(): نگاشت<رشته، رشته>
یک زمینه‌ی خالی می‌سازد: نگاشتی از نام به مقدار. مقدارها را با درج بیفزایید و پس از کار آزادش کنید.
template-Render.salam
واردسازی قالب

روال ریشه:
    ناپایا ز := قالب.زمینه جدید()
    دیرکن ز.آزادکن()
    ز.درج("نام"، "سارا")
    ز.درج("پیام"، "<سلام>")
    سرچاپ قالب.رندر("سلام {{نام}}! {{پیام}}"، ز)
    سرچاپ قالب.رندر اچ تی ام ال("<p>{{پیام}}</p>"، ز)
    سرچاپ قالب.گریز اچ تی ام ال("<a href=\"x\">&</a>")
    سرچاپ قالب.متغیر("نام")
پایان
خروجیسلام سارا! <سلام> <p>&lt;سلام&gt;</p> &lt;a href=&quot;x&quot;&gt;&amp;&lt;/a&gt; {{نام}}

گریز اچ تی ام ال EscapeHTML

روال گریز اچ تی ام ال(s: رشته): رشته
نویسه‌های ویژه‌ی HTML را گریز می‌دهد تا متن همان‌طور که هست نمایش داده شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: template-Render.salam

رندر Render

روال رندر(tmpl: رشته، ctx: نگاشت<رشته، رشته>): رشته
هر {{نام}} در قالب را با مقدارش از زمینه پر می‌کند، بی‌هیچ گریزی. برای متن ساده، ایمیل یا پرونده‌ی پیکربندی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: template-Render.salam

رندر اچ تی ام ال RenderHTML

روال رندر اچ تی ام ال(tmpl: رشته، ctx: نگاشت<رشته، رشته>): رشته
مثل رندر، ولی هر مقدار را پیش از جاگذاری گریز HTML می‌دهد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: template-Render.salam

متغیر Var

روال متغیر(name: رشته): رشته
نشانه‌ی جای خالی را برای یک نام می‌سازد؛ یعنی {{نام}}. وقتی قالب را با کد می‌سازید مفید است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: template-Render.salam