我已经试图将这种情况分类数周,但却无法实现。 我的问题是我在javascript中有一个数组但是数组中的各个短语也有逗号。 我使用POST将数组作为变量传递给php,php将数组爆炸成变量,但也分离了带逗号的数组成员。
第1步:javascript中的数组
wrongOnes = ("blah blah blah", "bing, boing, bing");
第2步:通过php阅读
$myArray = explode(',', $_POST["wrongOnes"]);
步骤3:然后将其发布为要发布的消息
foreach($myArray as $my_Array){
$message .= "\r\n".$my_Array;
}
你可以看到问题正在爆发,逗号分离会产生$ myArray的额外成员。
我觉得答案应该很简单,但我目前的php水平很弱。有人可以帮忙吗?
干杯
查。
答案 0 :(得分:0)
在这里,只要他们像你一样被引用。
$str = '"blah blah blah", "bing, boing, bing"';
preg_match_all('/"(.*?)"/', $str, $match);
print_r($match[1]);
输出
Array
(
[0] => blah blah blah
[1] => bing, boing, bing
)
你可以在这里试试
http://sandbox.onlinephpfunctions.com/code/b12ba98b423d7e1dda792f3bd51e11cdb3fa1c16
答案 1 :(得分:0)
1) JSON编码您的阵列在javascript 发送之前
使用JavaScripts JSON Object的stringify方法
jsonString = JSON.stringify(wrongOnes)
和
2)使用json_decode函数解码PHP中的JSON
$myArray=json_decode($_POST['jsonString']);
让你原来的阵列回来。
参考文献:
如果您碰巧错过了安装中的json模块,请查看此StackOverflow帖子:
PHP Fatal error: Call to undefined function json_decode()