Размер файла: 6.61Kb
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>escape</title>
- <meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
- <link rel="home" href="index.html" title="Руководство по Smarty">
- <link rel="up" href="language.modifiers.html" title="Chapter 5. Модификаторы переменных">
- <link rel="prev" href="language.modifier.default.html" title="default">
- <link rel="next" href="language.modifier.indent.html" title="indent">
- </head>
- <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
- <div class="navheader">
- <table width="100%" summary="Navigation header">
- <tr><th colspan="3" align="center">escape</th></tr>
- <tr>
- <td width="20%" align="left">
- <a accesskey="p" href="language.modifier.default.html">Prev</a> </td>
- <th width="60%" align="center">Chapter 5. Модификаторы переменных</th>
- <td width="20%" align="right"> <a accesskey="n" href="language.modifier.indent.html">Next</a>
- </td>
- </tr>
- </table>
- <hr>
- </div>
- <div class="sect1" title="escape">
- <div class="titlepage"><div><div><h2 class="title" style="clear: both">
- <a name="language.modifier.escape"></a>escape</h2></div></div></div>
- <p>
- Используется для кодирования / экранирования спецсимволов по алгоритмам
- экранирования HTML, URL'ов, одиночных кавычек, hex-экранирования,
- hex-сущностей, javascript и экранирования почтовых адресов.
- По умолчанию активирован режим экранирования HTML.
- </p>
- <div class="informaltable"><table border="1">
- <colgroup>
- <col align="center">
- <col align="center">
- <col align="center">
- <col align="center">
- <col align="center">
- <col>
- </colgroup>
- <thead><tr>
- <th align="center">Позиция параметра</th>
- <th align="center">Тип</th>
- <th align="center">Обязателен</th>
- <th align="center">Possible Values</th>
- <th align="center">По умолчанию</th>
- <th>Описание</th>
- </tr></thead>
- <tbody>
- <tr>
- <td align="center">1</td>
- <td align="center">string</td>
- <td align="center">Нет</td>
- <td align="center">
- <code class="literal">html</code>,<code class="literal">htmlall</code>,<code class="literal">url</code>,<code class="literal">urlpathinfo</code>,<code class="literal">quotes</code>,<code class="literal">hex</code>,<code class="literal">hexentity</code>,<code class="literal">javascript</code>,<code class="literal">mail</code>
- </td>
- <td align="center"><code class="literal">html</code></td>
- <td>формат экранирования</td>
- </tr>
- <tr>
- <td align="center">2</td>
- <td align="center">string</td>
- <td align="center">Нет</td>
- <td align="center">
- <code class="literal">ISO-8859-1</code>, <code class="literal">UTF-8</code>, ... любая кодировка, поддерживаемая функцией <a class="ulink" href="http://php.net/htmlentities" target="_top">htmlentities()</a>
- </td>
- <td align="center"><code class="literal">ISO-8859-1</code></td>
- <td>Кодировка для экранирования, передаваемая в htmlentities() и т.д.</td>
- </tr>
- </tbody>
- </table></div>
- <div class="example">
- <a name="id2657241"></a><p class="title"><b>Example 5.10. escape</b></p>
- <div class="example-contents">
- <pre class="programlisting">
-
- <?php
-
- $smarty->assign('articleTitle',
- "'Stiff Opposition Expected to Casketless Funeral Plan'"
- );
- $smarty->assign('EmailAddress','smarty@example.com');
- ?>
-
- </pre>
- <p>
- Шаблон:
- </p>
- <pre class="programlisting">
-
- {$articleTitle}
- {$articleTitle|escape}
- {$articleTitle|escape:'html'} {* экранирует & " ' < > *}
- {$articleTitle|escape:'htmlall'} {* экранирует ВСЕ HTML-сущности *}
- {$articleTitle|escape:'url'}
- {$articleTitle|escape:'quotes'}
- <a href="mailto:{$EmailAddress|escape:"hex"}">{$EmailAddress|escape:"hexentity"}</a>
- {$EmailAddress|escape:'mail'} {* конвертирует e-mail в текст *}
- {'mail@example.com'|escape:'mail'}
-
- </pre>
- <p>
- Результат обработки:
- </p>
- <pre class="screen">
-
- 'Stiff Opposition Expected to Casketless Funeral Plan'
- &#039;Stiff Opposition Expected to Casketless Funeral Plan&#039;
- &#039;Stiff Opposition Expected to Casketless Funeral Plan&#039;
- &#039;Stiff Opposition Expected to Casketless Funeral Plan&#039;
- %27Stiff+Opposition+Expected+to+Casketless+Funeral+Plan%27
- \'Stiff Opposition Expected to Casketless Funeral Plan\'
- <a href="mailto:%62%6f%..snip..%65%74">&#x62;&#x6f;&#x62..snip..&#x65;&#x74;</a>
- smarty [AT] example [DOT] com
- mail [AT] example [DOT] com
-
- </pre>
- <p>
- Обратите внимание, что родные функции PHP могут использоваться в качестве
- модификаторов, так что следующие приёмы сработают
- </p>
- <pre class="screen">
-
- {* GET-переменная rewind передает текущий адрес *}
- <a href="{$SCRIPT_NAME}?page=foo&rewind={$smarty.server.REQUEST_URI|urlencode}">click here</a>
-
- </pre>
- <p>
- Это очень полезно для e-mail'ов, но см. также
- <a class="link" href="language.function.mailto.html" title="{mailto}">{mailto}</a>
- </p>
- <pre class="screen">
-
- {* email address mangled *}
- <a href="mailto:{$EmailAddress|escape:'hex'}">{$EmailAddress|escape:'mail'}</a>
-
- </pre>
- </div>
- </div>
- <br class="example-break"><p>
- См. также
- <a class="link" href="language.escaping.html" title="Предотвращение обработки Smarty">Предотвращение обработки Smarty</a>,
- <a class="link" href="language.function.mailto.html" title="{mailto}">{mailto}</a>
- и
- <a class="link" href="tips.obfuscating.email.html" title="Сокрытие E-mail адреса">Сокрытие E-mail адреса</a>.
- </p>
- </div>
- <div class="navfooter">
- <hr>
- <table width="100%" summary="Navigation footer">
- <tr>
- <td width="40%" align="left">
- <a accesskey="p" href="language.modifier.default.html">Prev</a> </td>
- <td width="20%" align="center"><a accesskey="u" href="language.modifiers.html">Up</a></td>
- <td width="40%" align="right"> <a accesskey="n" href="language.modifier.indent.html">Next</a>
- </td>
- </tr>
- <tr>
- <td width="40%" align="left" valign="top">default </td>
- <td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td>
- <td width="40%" align="right" valign="top"> indent</td>
- </tr>
- </table>
- </div>
- </body>
- </html>