vstelmakh/url-highlight-twig-extension

Url highlight 库的 Twig 扩展

v3.0.0 2020-11-05 21:20 UTC

This package is auto-updated.

Last update: 2024-08-27 21:00:08 UTC


README

Build status Packagist version PHP version License

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: &lt;a href=&quot;<a href="http://example.com?a=1&b=2">http://example.com?a=1&amp;b=2</a>&quot;&gt;Example&lt;/a&gt; #}

鸣谢

Volodymyr Stelmakh
许可协议为 MIT 许可。更多信息请参阅 LICENSE