我需要从大数据包中提取名称。
$frame = '\"Amy Dardomba\":1,\"Kisb Muj Lorence\":1,\"Apkio Ronald\":1,....
我必须放入超过200-300个名字。
我试过了,
preg_match_all('#\/"(.*)\/":1#',$frame,$imn);
print_r($imn);
但它不起作用。请帮帮我。
由于
答案 0 :(得分:1)
这些数据对我来说就像是一些卑鄙的JSON。假设您的代码格式与上述相同,请尝试以下方法:
// Two pass approach to interpollate escape sequences correctly
$toJSON = '{"json":"{'.$frame.'}"}';
$firstPass = json_decode($toJSON, TRUE);
$secondPass = json_decode($firstPass['json'], TRUE);
// Just get the keys of the resulting array
$names = array_keys($secondPass);
print_r($names);
/*
Array
(
[0] => Amy Dardomba
[1] => Kisb Muj Lorence
[2] => Apkio Ronald
...
)
*/
答案 1 :(得分:0)
\/
将匹配/
个字符,但您需要匹配\
,因此请改用\\
:
preg_match_all('#\\"(.*?)\\":1#',$frame,$imn);
还为非贪婪的正则表达式添加了?
。
答案 2 :(得分:0)
$input = '\"Amy Dardomba\":1,\"Kisb Muj Lorence\":1,\"Apkio Ronald\":1';
preg_match_all('#"([a-zA-Z\x20]+)"#', stripslashes($input), $m);
查看$m[1]