【发布时间】:2011-11-30 05:59:18
【问题描述】:
我对 preg 很烂,我永远学不会 :( 这应该不难,我可以请一个代码示例来替换大括号之间的所有内容,包括空格,所有内容吗?喜欢:
$string = preg_replace('{.*?}#si', '', $string);
还是什么?
【问题讨论】:
标签: php preg-replace
我对 preg 很烂,我永远学不会 :( 这应该不难,我可以请一个代码示例来替换大括号之间的所有内容,包括空格,所有内容吗?喜欢:
$string = preg_replace('{.*?}#si', '', $string);
还是什么?
【问题讨论】:
标签: php preg-replace
您缺少最初的 # 分隔符:
'#\{.*?\}#s'
在线查看:ideone
其他几点:
i 修饰符,因为模式中没有任何字母。{ 和 } 以避免与它们用作量词的混淆,但在这种情况下并非绝对必要。【讨论】:
\},否则你在最后的# 之前有一个额外的空格或其他字符。如果您需要更具体的帮助,请发布您尝试过的代码。
在阅读了您的其他问题后,您似乎想使用它来美化您的代码。虽然许多编辑器都为单个文件内置了此功能,但我想您想将此功能应用于一堆文件。如果是这种情况,请参阅https://github.com/clbustos/PHP_Beautifier。
由于 cmets 进行编辑: 老实说,您不会想使用正则表达式。使用php tokenizer。
【讨论】: