PHP:如何修复我的 preg_replace 代码

发布于 2024-10-18 03:32:24 字数 263 浏览 2 评论 0原文

如果我有一个像

$str = "Hello [Page 1] World [Page 23] Hello [Page 35] World [Page 624]";

And 我想删除“[Page #]”的所有实例的

字符串,我将如何做到这一点?

这是我到目前为止所得到的......

preg_replace('[Page [0-9]]', '', $str);

If I have a string like

$str = "Hello [Page 1] World [Page 23] Hello [Page 35] World [Page 624]";

And I want to remove all instances of "[Page #]"

How would I go about doing that?

Here's what I've got so far...

preg_replace('[Page [0-9]]', '', $str);

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

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

发布评论

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

评论(3

烟织青萝梦 2024-10-25 03:32:24

请记住,[] 是类分隔符。当您想将它们用作文字时,您需要首先对它们进行转义(前缀为 \)。所以:

/\[Page [0-9]+\]/i

可能是你最好的选择。用 / 包围该模式,在数字范围中添加 + 以匹配“1+ 数字”,最后的 i 表示不区分大小写匹配(P 或“Page”中的 p)(如果这不是您的意图,请删除)。

Remember that [ and ] are class delimiters. When you want to use them as literals you need to escape them (prefix with \) first. So:

/\[Page [0-9]+\]/i

is probably your best bet. Surround the pattern with /, add a + to your number range to match "1+ numbers", and the final i means case-insensitive match (P or p in "Page") (remove if that's not your intent).

纵性 2024-10-25 03:32:24
preg_replace('/\\[Page [0-9]+\\]/', '', $str)
preg_replace('/\\[Page [0-9]+\\]/', '', $str)
神魇的王 2024-10-25 03:32:24
/\[Page \d+\]/

也有效。 \d 是数字字符的简写。

/\[Page \d+\]/

works, too. \d is shorthand for number-chars.

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