preg_match使用类似于表达式的语法,例如
preg_match_all("/\[(.*?)\]/", $content, $matches);
我对创建模式感到困惑,如何开发出/[(.*?)]/正则表达式?因为我正在尝试创建一个短代码,希望无论何处放置短代码,都可以从中获取短代码并清理和知道放置了什么短代码,例如 [shortcode app='slider' id='2'],我需要从短代码中提取 slider 和 2,以便展示幻灯片,并将其替换为短代码。
preg_match使用类似于表达式的语法,例如
preg_match_all("/\[(.*?)\]/", $content, $matches);
我对创建模式感到困惑,如何开发出/[(.*?)]/正则表达式?因为我正在尝试创建一个短代码,希望无论何处放置短代码,都可以从中获取短代码并清理和知道放置了什么短代码,例如 [shortcode app='slider' id='2'],我需要从短代码中提取 slider 和 2,以便展示幻灯片,并将其替换为短代码。
\[
- 匹配 "[" 字符。 "\" 用于转义它,因为在正则表达式中我们有特殊含义。
(
- )
将捕获内部部分以用作反向引用,而我们替换时要使用它
.*
- 任何字符都可以出现在这里,除了换行符,并且可以出现0次或多次。
?
- 使前面的部分变成可选项(这里不需要,因为使用*
已经照顾到了它,表示 0 次或多次)。
\]
- 匹配一个字符 "]"。