我需要在任何换行符的开头替换空格。我使用JSON发送POST值并怀疑这可能与它无关。
$str='
This is a string.
This should be left justified by removing whitespaces preceding it.
';
preg_replace('/^\s+/', '', $str);
运行它,按预期工作。当我尝试将其与POST数组一起使用时,空白仍然存在。为什么呢?
JSON是否参与其中?
修改
为了澄清一下,发送的数组不是JSON编码的,它是一个使用JSON POST的PHP数组。
我只是尝试修改我的正则表达式,至少可以验证preg_replace正在做某事。如果我执行:/\s+/
,则删除所有空格。所以,我知道它有点工作。
我的正则表达式是否正确?
编辑#2
这让我发疯了。我想我只会修改我的javascript中的空白并将其称为一天,但我得到了相同的结果。
还有其他情况可以阻止此正则表达式匹配吗?
/^\s+/
答案 0 :(得分:0)
这个怎么样:
$str='
This is a string.
This should be left justified by removing whitespaces preceding it.
';
preg_replace('/^\s+/m', '', $str);
我刚刚添加了m
修饰符。见http://us3.php.net/manual/en/reference.pcre.pattern.modifiers.php
答案 1 :(得分:0)
试试这个:
foreach($trim_val as $key => $value) {
$trim_val[$key] = trim($value);
}
$json = json_encode($trim_val);
已经有人在check
给出解决方案