diff options
Diffstat (limited to 'docs/designers/language-basic-syntax/language-escaping.md')
| -rw-r--r-- | docs/designers/language-basic-syntax/language-escaping.md | 88 |
1 files changed, 42 insertions, 46 deletions
diff --git a/docs/designers/language-basic-syntax/language-escaping.md b/docs/designers/language-basic-syntax/language-escaping.md index fe8b1458..ea031bc9 100644 --- a/docs/designers/language-basic-syntax/language-escaping.md +++ b/docs/designers/language-basic-syntax/language-escaping.md @@ -4,7 +4,7 @@ It is sometimes desirable or even necessary to have Smarty ignore sections it would otherwise parse. A classic example is embedding Javascript or CSS code in a template. The problem arises as those languages use the { and } characters which are also the default -[delimiters](#language.function.ldelim) for Smarty. +[delimiters](../language-builtin-functions/language-function-ldelim.md) for Smarty. > **Note** > @@ -16,37 +16,37 @@ languages use the { and } characters which are also the default In Smarty templates, the { and } braces will be ignored so long as they are surrounded by white space. This behavior can be disabled by setting -the Smarty class variable [`$auto_literal`](#variable.auto.literal) to +the Smarty class variable [`$auto_literal`](../../programmers/api-variables/variable-auto-literal.md) to false. +## Examples - <script> - // the following braces are ignored by Smarty - // since they are surrounded by whitespace - function foobar { - alert('foobar!'); - } - // this one will need literal escapement - {literal} - function bazzy {alert('foobar!');} - {/literal} - </script> - +```smarty +<script> + // the following braces are ignored by Smarty + // since they are surrounded by whitespace + function foobar { + alert('foobar!'); + } + // this one will need literal escapement + {literal} + function bazzy {alert('foobar!');} + {/literal} +</script> +``` - -[`{literal}..{/literal}`](#language.function.literal) blocks are used +[`{literal}..{/literal}`](../language-builtin-functions/language-function-literal.md) blocks are used for escaping blocks of template logic. You can also escape the braces individually with -[`{ldelim}`](#language.function.ldelim),[`{rdelim}`](#language.function.ldelim) -tags or -[`{$smarty.ldelim}`,`{$smarty.rdelim}`](#language.variables.smarty.ldelim) +[`{ldelim}`, `{rdelim}`](../language-builtin-functions/language-function-ldelim.md) tags or +[`{$smarty.ldelim}`,`{$smarty.rdelim}`](../language-variables/language-variables-smarty.md#smartyldelim-smartyrdelim-languagevariablessmartyldelim) variables. -Smarty\'s default delimiters { and } cleanly represent presentational -content. However if another set of delimiters suit your needs better, -you can change them with Smarty\'s -[`$left_delimiter`](#variable.left.delimiter) and -[`$right_delimiter`](#variable.right.delimiter) values. +Smarty's default delimiters { and } cleanly represent presentational +content. However, if another set of delimiters suit your needs better, +you can change them with Smarty's +[`$left_delimiter`](../../programmers/api-variables/variable-left-delimiter.md) and +[`$right_delimiter`](../../programmers/api-variables/variable-right-delimiter.md) values. > **Note** > @@ -54,30 +54,26 @@ you can change them with Smarty\'s > sure to clear out cache and compiled files if you decide to change > them. +```php +<?php - <?php - - $smarty->left_delimiter = '<!--{'; - $smarty->right_delimiter = '}-->'; - - $smarty->assign('foo', 'bar'); - $smarty->assign('name', 'Albert'); - $smarty->display('example.tpl'); +$smarty->left_delimiter = '<!--{'; +$smarty->right_delimiter = '}-->'; - ?> - - +$smarty->assign('foo', 'bar'); +$smarty->assign('name', 'Albert'); +$smarty->display('example.tpl'); +``` Where the template is: - - Welcome <!--{$name}--> to Smarty - <script language="javascript"> - var foo = <!--{$foo}-->; - function dosomething() { - alert("foo is " + foo); - } - dosomething(); - </script> - - +```smarty +Welcome <!--{$name}--> to Smarty +<script language="javascript"> + var foo = <!--{$foo}-->; + function dosomething() { + alert("foo is " + foo); + } + dosomething(); +</script> +``` |
