我正在尝试用preg-replace替换一个删除的不必要的新行,但是我的regex是不正确的。有人知道我的正则表达式有什么问题吗?(我有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 (全局)提供空白内容,没有#它什么也做不了。奇怪?!有没有人知道为什么这些不起作用?
发布于 2010-12-14 01:10:43
如果要删除{、}和;之后的任何空格,请执行以下操作:
preg_replace('/([{};])\s+/', '$1', $buffer)这里的/是delimiters;([{};])在捕获匹配时描述{、}和;中的一个字符;\s+描述后面的任何空格字符(已经包括\r和\n)。
发布于 2010-12-14 01:06:13
$buffer = preg_replace('#([{};])(?:\n|\r|\s)#s', '$1', $buffer);发布于 2010-12-14 01:09:28
这对我来说很有效:
$buffer = preg_replace('/\}\\n|\\r|\\s/', '', $buffer);https://stackoverflow.com/questions/4431341
复制相似问题