php 函数 preg_replace 与正则表达式不起作用,语法问题

发布于 2024-10-07 06:14:29 字数 539 浏览 5 评论 0原文

我试图用 preg-replace 替换删除不必要的新行,但我的正则表达式不正确。有人知道我的正则表达式有什么问题吗? (我有 Apache/2.0.54 和 PHP/5.2.9

现在有:

{
blaa {
blow;
blue};
bell;}
}ball

想要:

{blaa {blow;blue};bell;}}ball

这些正则表达式不起作用,它们删除了太多或太少了?

$buffer = preg_replace('#/\}\n|\r|\s/#s', '}', $buffer);
$buffer = preg_replace('#/\{\n|\r|\s/#s', '{', $buffer);
$buffer = preg_replace('#/\;\n|\r|\s/#s', ';', $buffer);

/g(全局)给出了 blanc 内容,没有 # 它不会做任何事情。 奇怪的?! 有人知道为什么这些不起作用吗?

im trying to replace a remove unnessary new lines with preg-replace but my regex is incorrect. Anyone any ideas whats wrong with my regex? (i have Apache/2.0.54 & PHP/5.2.9

NOW HAVE:

{
blaa {
blow;
blue};
bell;}
}ball

WOULD LIKE:

{blaa {blow;blue};bell;}}ball

These regex dont work, they remove too much or toolitle??

$buffer = preg_replace('#/\}\n|\r|\s/#s', '}', $buffer);
$buffer = preg_replace('#/\{\n|\r|\s/#s', '{', $buffer);
$buffer = preg_replace('#/\;\n|\r|\s/#s', ';', $buffer);

/g (global) gives blanc content and without the # it doestnt do anything. strange?!
Anybody any clue why these dont work?

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

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

发布评论

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

评论(3

半边脸i 2024-10-14 06:14:31

如果要删除 {}; 之后的任何空格,请执行以下操作:

preg_replace('/([{};])\s+/', '$1', $buffer)

这里 /分隔符([{};]) 描述捕获匹配时 {}; 中的一个字符; \s+ 描述任何后续空白字符(已包括 \r\n)。

If you want to remove any whitespace after {, }, and ;, do this:

preg_replace('/([{};])\s+/', '$1', $buffer)

Here / are the delimiters; ([{};]) describes one character of {, }, and ; while the match is captured; and \s+ describes any following whitespace characters (already including \r and \n).

不乱于心 2024-10-14 06:14:31

这对我有用:

$buffer = preg_replace('/\}\\n|\\r|\\s/', '', $buffer);

This works for me:

$buffer = preg_replace('/\}\\n|\\r|\\s/', '', $buffer);
生来就爱笑 2024-10-14 06:14:31
$buffer = preg_replace('#([{};])(?:\n|\r|\s)#s', '$1', $buffer);
$buffer = preg_replace('#([{};])(?:\n|\r|\s)#s', '$1', $buffer);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文