You are here

function apachesolr_multilingual_textfile_isolatin1accent_filter in Apache Solr Multilingual 6.2

Same name and namespace in other branches
  1. 6 apachesolr_multilingual_textfile/apachesolr_multilingual_textfile.module \apachesolr_multilingual_textfile_isolatin1accent_filter()
2 calls to apachesolr_multilingual_textfile_isolatin1accent_filter()
apachesolr_multilingual_textfile_download in apachesolr_multilingual_textfile/apachesolr_multilingual_textfile.module
apachesolr_multilingual_textfile_download_config_validate in apachesolr_multilingual_textfile/apachesolr_multilingual_textfile.module

File

apachesolr_multilingual_textfile/apachesolr_multilingual_textfile.module, line 344

Code

function apachesolr_multilingual_textfile_isolatin1accent_filter($text) {
  static $lines = array();
  if (empty($lines)) {
    $mapping_source_path = dirname(__FILE__) . '/../resources/';
    $mappings = file_get_contents($mapping_source_path . 'mapping-ISOLatin1Accent.txt');
    $mappings = preg_replace('/\\s*$/', '', $mappings);
    $mappings = preg_replace('/^\\s*/', '', $mappings);
    $lines = explode("\n", $mappings);
    foreach ($lines as $i => $line) {
      if (drupal_substr($line, 0, 1) == '#' || trim($line) == '') {
        unset($lines[$i]);
      }
    }
  }
  $sr = array(
    '"',
    ' ',
  );
  foreach ($lines as $line) {
    $line = str_replace($sr, '', $line);
    $mappings = explode("=>", $line);
    $text = preg_replace("@\\x{" . str_replace('\\u', '', $mappings[0]) . "}@u", $mappings[1], $text);
  }
  return $text;
}