如何转换.dict文件中的条目,如:
aveu acknowledgement, admission
到像
这样的php数组$ array ['aveu'] = array(1 =>'确认',2 =>'允许');
感谢您的帮助!
答案 0 :(得分:0)
假设父节点之前没有空格,并且子节点以空格开头以逗号分隔,则循环遍历文件中的行。如果前面没有空格(通过preg_match()
),则启动一个新的数组键,然后explode()
后续的空白行。
$output = array();
$lines = file('yourfile.dict');
foreach ($lines as $line) {
// Skip blank lines
if (strlen(trim($line)) > 0) {
// No leading whitespace, start a new key:
if (!preg_match('/^\s+/', $line)) {
$key = trim($line);
$output[$key] = array();
}
// Otherwise, explode and add to the previous $key (if $key is non-empty)
else if (!empty($key)) {
$terms = explode(",", $line);
// Trim off whitespace
$terms = array_map('trim', $terms);
// Merge them onto the existing key (if multiple lines)
$output[$key] = array_merge($output[$key], $terms);
}
else {
// Error - no current $key
echo "??? We don't have an active key.";
}
}
}