chattervast/expressive

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

安装: 0

依赖项: 0

建议者: 0

安全: 0

星星: 0

关注者: 1

分支: 0

类型:craft-plugin

dev-main 2021-10-21 01:44 UTC

This package is auto-updated.

Last update: 2024-09-21 18:49:50 UTC


README

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

Screenshot

要求

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

安装

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

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

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

     composer require Chattervast/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) }}

Chattervast 提供