قالب template
پر کردن قالبهای متنی و HTML با مقدارها، با گریز خودکار برای امنیت.
واردسازی قالب
در این صفحه
قالب متنی است که جاهای خالی دارد؛ هر {{نام}} با مقدار همان نام از یک «زمینه» پر میشود. زمینه یک نگاشت از نام به مقدار است.
اگر خروجی HTML است و مقدارها از کاربر آمدهاند، حتماً رندر اچ تی ام ال را به کار ببرید. این روال نویسههای خطرناک مثل < را گریز میدهد تا کسی نتواند کد در صفحهتان جا بدهد. همین وبسایت با این بسته ساخته شده است.
روالها
زمینه جدید NewContext
روال زمینه جدید(): نگاشت<رشته، رشته>یک زمینهی خالی میسازد: نگاشتی از نام به مقدار. مقدارها را با
درج بیفزایید و پس از کار آزادش کنید.واردسازی قالب
روال ریشه:
ناپایا ز := قالب.زمینه جدید()
دیرکن ز.آزادکن()
ز.درج("نام"، "سارا")
ز.درج("پیام"، "<سلام>")
سرچاپ قالب.رندر("سلام {{نام}}! {{پیام}}"، ز)
سرچاپ قالب.رندر اچ تی ام ال("<p>{{پیام}}</p>"، ز)
سرچاپ قالب.گریز اچ تی ام ال("<a href=\"x\">&</a>")
سرچاپ قالب.متغیر("نام")
پایانخروجیسلام سارا! <سلام>
<p><سلام></p>
<a href="x">&</a>
{{نام}}
گریز اچ تی ام ال EscapeHTML
روال گریز اچ تی ام ال(s: رشته): رشتهنویسههای ویژهی HTML را گریز میدهد تا متن همانطور که هست نمایش داده شود.
نمونهی این مورد همراه با موارد بالاتر آمده است: template-Render.salam
رندر Render
روال رندر(tmpl: رشته، ctx: نگاشت<رشته، رشته>): رشتههر
{{نام}} در قالب را با مقدارش از زمینه پر میکند، بیهیچ گریزی. برای متن ساده، ایمیل یا پروندهی پیکربندی.نمونهی این مورد همراه با موارد بالاتر آمده است: template-Render.salam
رندر اچ تی ام ال RenderHTML
روال رندر اچ تی ام ال(tmpl: رشته، ctx: نگاشت<رشته، رشته>): رشتهمثل
رندر، ولی هر مقدار را پیش از جاگذاری گریز HTML میدهد.نمونهی این مورد همراه با موارد بالاتر آمده است: template-Render.salam
متغیر Var
روال متغیر(name: رشته): رشتهنشانهی جای خالی را برای یک نام میسازد؛ یعنی
{{نام}}. وقتی قالب را با کد میسازید مفید است.نمونهی این مورد همراه با موارد بالاتر آمده است: template-Render.salam