indigoviking/expressive

添加 PHP PCRE preg 函数作为 Twig 过滤器。

安装量: 4,629

依赖项: 0

建议者: 0

安全: 0

星标: 1

关注者: 1

分支: 0

类型:craft-plugin

1.01 2019-01-01 03:15 UTC

This package is auto-updated.

Last update: 2024-09-29 04:36:58 UTC


README

添加 PHP preg 函数作为 Twig 过滤器。

Screenshot

要求

此插件需要 Craft CMS 3.0.0-beta.23 或更高版本。

安装

要安装此插件,请在插件商店中搜索 Expressive 或按照以下说明进行。

  1. 打开您的终端并进入 Craft 项目目录

     cd /path/to/project
    
  2. 然后告诉 Composer 加载插件

     composer require IndigoViking/expressive
    
  3. 在控制面板中,转到设置 → 插件,然后点击 Expressive 的“安装”按钮。

Expressive 概述

添加 PHP preg 函数作为 Twig 过滤器。 preg_filter

preg_grep

preg_last_error

preg_match

preg_match_first

preg_match_all

preg_quote

preg_replace

preg_replace_callback

preg_replace_callback_array

preg_split

使用 Expressive

Twig 会移除反斜杠,因此请使用双反斜杠来表示正则表达式模式。

过滤器

{{ entry.field|preg_filter(pattern, replacement, limit) }}

grep

{{ entry.field|preg_grep(pattern) }}

最后错误

此过滤器返回在 preg 函数上给出的最后错误。必须指定要测试的 preg 函数,并需要为该函数工作所需的适当参数。

测试 preg_filter

{{ entry.field|preg_last_error('filter', pattern, replacement, limit) }}

测试 preg_grep

{{ entry.field|preg_last_error('grep', pattern) }}

测试 preg_match

{{ entry.field|preg_last_error('match', pattern) }}

测试 preg_match_first

{{ entry.field|preg_last_error('matchfirst', pattern) }}

测试 preg_match_all

{{ entry.field|preg_last_error('matchall', pattern) }}

测试 preg_quote

{{ entry.field|preg_last_error('quote', delimiter) }}

测试 preg_replace

{{ entry.field|preg_last_error('replace', pattern, replacement, limit) }}

测试 preg_replace_callback

{{ entry.field|preg_last_error('callback', pattern, callback) }}

测试 preg_replace_callback_array

{{ entry.field|preg_last_error('callbackarray', pattern, limit, count) }}

测试 preg_split

{{ entry.field|preg_last_error('split', pattern) }}

匹配

{{ entry.field|preg_match(pattern) }}

首次匹配

{{ entry.field|preg_match_first(pattern) }}

全部匹配

{{ entry.field|preg_match_all(pattern) }}

引用

{{ entry.field|preg_quote(delimiter) }}

替换

{{ entry.field|preg_replace(pattern, replacement, limit) }} 示例:将电子邮件地址替换为 mailto 链接:{{ entry.field|preg_replace('/(\S+@\S+\.\S+)/', '<a href=mailto:"$1">$1</a>')|raw }} 添加 |raw 过滤器将渲染 HTML。

替换回调

{{ entry.field|preg_replace_callback(pattern, callback) }}

替换回调数组

{{ entry.field|preg_replace_callback_array(pattern, limit, count) }}

分割

{{ entry.field|preg_split(pattern) }}

The Indigo Viking 提供