vstelmakh / url-highlight-twig-extension
Url highlight 库的 Twig 扩展
v3.0.0
2020-11-05 21:20 UTC
Requires
- php: ^7.1 || ^8
- twig/twig: ^1.38 || ^2.7 || ^3
- vstelmakh/url-highlight: ^3
Requires (Dev)
- phpstan/phpstan: ^0.12.3
- phpunit/phpunit: ^7.5.3 <10
- squizlabs/php_codesniffer: ^3.5
- vstelmakh/covelyzer: ^0.1.0
README
Url highlight 库的 Url highlight 扩展
安装
使用 Symfony?有可用的包: Url highlight symfony 包
使用以下命令安装最新版本
$ composer require vstelmakh/url-highlight-twig-extension
设置
将扩展添加到您的 twig 环境中
<?php use Twig\Environment; use Twig\Loader\FilesystemLoader; use VStelmakh\UrlHighlight\UrlHighlight; use VStelmakh\UrlHighlightTwigExtension\UrlHighlightExtension; // create twig environment $loader = new FilesystemLoader('/path/to/templates'); $twig = new Environment($loader, []); // add extension $urlHighlight = new UrlHighlight(); $twig->addExtension(new UrlHighlightExtension($urlHighlight));
用法
在您的模板中使用 urls_to_html
过滤器
{{ 'Basic example http://example.com'|urls_to_html }} {# output: Basic example <a href="http://example.com">http://example.com</a> #}
为了正确处理 HTML 实体转义的字符串,请使用 Encoder。下面是配置示例。
警告:该过滤器假定输入字符串已经过安全处理,并且会打印其中的任何 HTML 标签。在传递给 urls_to_html
之前,开发者有责任对输入进行清理。
配置
可以通过 UrlHighlight 构造函数提供其他选项。更多详情请参阅:Url highlight 配置。
示例
<?php use Twig\Environment; use Twig\Loader\FilesystemLoader; use VStelmakh\UrlHighlight\Encoder\HtmlSpecialcharsEncoder; use VStelmakh\UrlHighlight\UrlHighlight; use VStelmakh\UrlHighlightTwigExtension\UrlHighlightExtension; $loader = new FilesystemLoader('/path/to/templates'); $twig = new Environment($loader, []); $encoder = new HtmlSpecialcharsEncoder(); $urlHighlight = new UrlHighlight(null, null, $encoder); $twig->addExtension(new UrlHighlightExtension($urlHighlight));
现在已正确处理了转义的输入
{{ '<a href="http://example.com?a=1&b=2">Example</a>'|escape|urls_to_html }} {# output: <a href="<a href="http://example.com?a=1&b=2">http://example.com?a=1&b=2</a>">Example</a> #}
鸣谢
Volodymyr Stelmakh
许可协议为 MIT 许可。更多信息请参阅 LICENSE。