Транслитерация в phpBB SEO URL


Для добавления ЧПУ форумному движку phpBB, необходимо установить расширение phpBB SEO. Но данное расширение не работает с кириллицей и поэтому необходимо внести некоторые изменения для того чтоб расширение начало работать с кириллицей.

Открываем файл ./ext/phpbbseo/usu/core.php

Перед строкой №493

  return;
  }

Добавляем код

// Начало кода - Добавление траслитерации кириллицы в URL
 $url_replace = array(
 'А' => 'A', 'а' => 'a',
 'Б' => 'B', 'б' => 'b',
 'В' => 'V', 'в' => 'v',
 'Г' => 'G', 'г' => 'g',
 'Д' => 'D', 'д' => 'd',
 'Е' => 'E', 'е' => 'e',
 'Ё' => 'E', 'ё' => 'e',
 'Ж' => 'J', 'ж' => 'j',
 'З' => 'Z', 'з' => 'z',
 'И' => 'I', 'и' => 'i',
 'Й' => 'Y', 'й' => 'y',
 'К' => 'K', 'к' => 'k',
 'Л' => 'L', 'л' => 'l',
 'М' => 'M', 'м' => 'm',
 'Н' => 'N', 'н' => 'n',
 'О' => 'O', 'о' => 'o',
 'П' => 'P', 'п' => 'p',
 'Р' => 'R', 'р' => 'r',
 'С' => 'S', 'с' => 's',
 'Т' => 'T', 'т' => 't',
 'У' => 'U', 'у' => 'u',
 'Ф' => 'F', 'ф' => 'f',
 'Х' => 'H', 'х' => 'h',
 'Ц' => 'C', 'ц' => 'c',
 'Ч' => 'CH', 'ч' => 'ch',
 'Ш' => 'SH', 'ш' => 'sh',
 'Щ' => 'SHCH', 'щ' => 'shch',
 'Ъ' => '', 'ъ' => '',
 'Ы' => 'I', 'ы' => 'i',
 'Ь' => '', 'ь' => '',
 'Э' => 'E', 'э' => 'e',
 'Ю' => 'U', 'ю' => 'u',
 'Я' => 'YA','я' => 'ya',
 'Ա' => 'A','ա' => 'a',
 'Բ' => 'B','բ' => 'b',
 'Գ' => 'G','գ' => 'g',
 'Դ' => 'D','դ' => 'd',
 'Ե' => 'E','ե' => 'e',
 'Զ' => 'Z','զ' => 'z',
 'է' => 'E','է' => 'e',
 'Ը' => '','ը' => '',
 'Թ' => 'T','թ' => 't',
 'Ժ' => 'Zh','ժ' => 'zh',
 'Ի' => 'I','ի' => 'i',
 'Լ' => 'L','լ' => 'l',
 'Խ' => 'Kh','խ' => 'kh',
 'Ծ' => 'Ts','ծ' => 'ts',
 'Կ' => 'K','կ' => 'k',
 'Հ' => 'H','հ' => 'h',
 'Ձ' => 'Dz','ձ' => 'dz',
 'Ղ' => 'Gh','ղ' => 'gh',
 'Ճ' => 'Tch','ճ' => 'tch',
 'Մ' => 'M','մ' => 'm',
 'Յ' => 'Y','յ' => 'y',
 'Ն' => 'N','ն' => 'n',
 'Շ' => 'Sh','շ' => 'sh',
 'Պ' => 'P','պ' => 'p',
 'Ջ' => 'J','ջ' => 'j',
 'Ռ' => 'R','ռ' => 'r',
 'Ս' => 'S','ս' => 's',
 'Վ' => 'V','վ' => 'v',
 'Տ' => 'T','տ' => 't',
 'Ր' => 'R','ր' => 'r',
 'Ց' => 'Ts','ց' => 'ts',
 'ՈՒ' => 'U','Ու' => 'U','ու' => 'u',
 'Ո' => 'Vo','ո' => 'vo',
 'Չ' => 'Ch','չ' => 'ch',
 'Փ' => 'P','փ' => 'p',
 'Ք' => 'Q','ք' => 'q',
 'և' => 'ev','եւ' => 'ev',
 'Օ' => 'O','օ' => 'o',
 'Ֆ' => 'F','ֆ' => 'f',
 );
 $this->seo_opt['url_find'] = array_keys($url_replace);
 $this->seo_opt['url_replace'] = array_values($url_replace);
 // Конец кода - Добавление траслитерации кириллицы в URL

После строки

$url = preg_replace('`\[.*\]`U', '', $url);

Добавляем

$url = str_replace( $this->seo_opt['url_find'], $this->seo_opt['url_replace'], $url );

Сохраняем файл в UTF8 без BOOM.