在 PHP 中使用 preg_replace 时如何获得匹配项?

发布于 2024-07-04 00:41:46 字数 263 浏览 5 评论 0原文

我试图抓住几个单词的大写字母并将它们包装在 span 标签中。 我使用 preg_replace 进行提取和包装,但它没有输出任何内容。

preg_replace("/[A-Z]/", "<span class=\"initial\">$1</span>", $str)

I am trying to grab the capital letters of a couple of words and wrap them in span tags. I am using preg_replace for extract and wrapping purposes, but it's not outputting anything.

preg_replace("/[A-Z]/", "<span class=\"initial\">$1</span>", $str)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

烟沫凡尘 2024-07-11 00:41:46

您需要将模式放在括号 /([AZ])/ 中,如下所示:

preg_replace("/([A-Z])/", "<span class=\"initial\">$1</span>", $str)

You need to put the pattern in parentheses /([A-Z])/, like this:

preg_replace("/([A-Z])/", "<span class=\"initial\">$1</span>", $str)
很糊涂小朋友 2024-07-11 00:41:46

\0 还将匹配整个匹配表达式,而无需使用括号进行显式捕获。

preg_replace("/[A-Z]/", "<span class=\"initial\">\\0</span>", $str)

与往常一样,您可以转到 php.net/preg_replace 或 php.net/<任何搜索词> 快速搜索文档。 引用文档:

\0 或 $0 指的是整个模式匹配的文本。

\0 will also match the entire matched expression without doing an explicit capture using parenthesis.

preg_replace("/[A-Z]/", "<span class=\"initial\">\\0</span>", $str)

As always, you can go to php.net/preg_replace or php.net/<whatever search term> to search the documentation quickly. Quoth the documentation:

\0 or $0 refers to the text matched by the whole pattern.

不必了 2024-07-11 00:41:46

来自 php.net 上的 preg_replace 文档

替换可能包含以下内容的引用
形式 \n 或(自 PHP 4.0.4 起)$n,
后一种形式是
首选之一。 每一个这样的参考
将被捕获​​的文本替换
由第 n 个带括号的模式。

请参阅 Flubba 的示例。

From the preg_replace documentation on php.net:

replacement may contain references of
the form \n or (since PHP 4.0.4) $n,
with the latter form being the
preferred one. Every such reference
will be replaced by the text captured
by the n'th parenthesized pattern.

See Flubba's example.

别在捏我脸啦 2024-07-11 00:41:46

在您想要的捕获周围使用括号。

Use parentheses around your desired capture.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文