-2

如何转换 .dict 文件中的条目,例如:

aveu
    acknowledgement, admission

到一个 php 数组,如

$array['aveu'] = array(1 => '确认', 2 => '录取');

谢谢你的帮助!

4

1 回答 1

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.";
    }
  }
}
于 2012-07-26T02:42:29.427 回答