RegEx有点问题, 我有字符串
AM.name:ASC,AMAdvanced.start:DESC,
AMAdvanced.start:DESC,AM.Genre:Action
需要将它们分解为
array(0){
AM.name => ASC,
AMAdvanced.start => DESC
}
and
array(0){
AMAdvanced.start => DESC,
AM.Genre => Action
}
任何帮助都会很棒,因为正则表达式是全新的
答案 0 :(得分:2)
此处不需要regex
。
步骤:
explode
以逗号,
array
Explode
冒号:
array
代码:
$newArr = array();
foreach (explode(',', trim($str, " ,")) AS $el) {
$el = explode(':', $el);
$newArr[$el[0]] = $el[1];
}
print_r($newArr);
答案 1 :(得分:0)
您可以先使用换行符分割文字:
var arr = data.split('\n');
然后遍历您的数组并使用str.replace
方法处理您的项目:
var i;
for (i = 0; i < arr.length; ++i) {
alert(arr[i].replace(/(\w+):(\w+)/g, '$1=>$2'));
}
您还可以使用,
分割每个项目的结果:
var i;
for (i = 0; i < arr.length; ++i) {
var temp=arr[i].replace(/(\w+):(\w+)/g, '$1=>$2');
alert(temp.split(','));
}
答案 2 :(得分:0)
这将创建一个带有条目
的单个数组<?php
$dir = array();
$strArray = array('AM.name:ASC,AMAdvanced.start:DESC','AMAdvanced.start:DESC,AM.Genre:Action');
foreach ($strArray as $i => $str) {
$el = explode(',', $str);
foreach ($el as $e) {
$dir[$i][] = explode(':',$e);
}
}
print_r($dir);