Как кодировать и декодировать азбуку Морзе (переводить азбуку Морзе) с помощью PHP в Symfony 3

Азбука Морзе — это метод отправки текстовых сообщений путем ввода последовательности электронных импульсов, представленных коротким импульсом (называемым «точкой») и длинным импульсом («тире» _). Хотя вы можете подумать, что этот код используется только в фильмах, азбука Морзе все еще популярна среди радиолюбителей-любителей, а это значит, что он все еще используется.

В этой статье, хотя это может показаться бесполезным (и, вероятно, это действительно потому, что вам, скорее всего, это никогда не понадобится), вы узнаете, как преобразовать текст в азбуку Морзе и наоборот с помощью PHP в вашем проекте Symfony 3.

1. Установите библиотеку азбуки Морзе

Библиотека азбуки Морзе — это полезный класс, который позволяет легко преобразовывать текст в азбуку Морзе и азбуку Морзе. Вы можете установить его в своем проекте Symfony, когда композитор открывает терминал, переключается в каталог вашего проекта и затем выполняет следующую команду:

composer require rexxars/morse

Кроме того, вы можете изменить вручную composer.json файл и добавление библиотеки в качестве зависимости:

{
"require": {
"rexxars/morse": "^1.0"
}
}

Тогда беги composer install, После установки вы сможете использовать библиотеку с ваших контроллеров. Эта библиотека была написана @rexxars, для получения дополнительной информации посетите официальный репозиторий в Github здесь.

2. Использование библиотеки в ваших контроллерах

С помощью этой библиотеки вы сможете кодировать текст в его представление азбуки Морзе, создавать аудио-файл, если хотите, и декодировать азбуку Морзе в текст.

Кодировать (текст в азбуку)

Чтобы закодировать текст в представление кода Морзе, создайте экземпляр кода Морзе и используйте toMorse метод для этого. Этот метод ожидает текст, который вы хотите преобразовать в азбуку Морзе в качестве первого аргумента:

toMorse($originalText);
// Return the morse code as response from your controller
// .... . .-.. .-.. --- --..-- - .... .. ... .. ... - .... . - . -..- - - .... .- - .. .-- .- -. - - --- . -. -.-. --- -.. .
return new Response($morseResult);
}
}

Вы даже можете вернуть WAV (аудио) файл в ответ от вашего контроллера:

generate($originalText);
// Return the morse code as response from your controller
return new Response(
// Set content of the response the WAV Buffer result
$morseWAVBuffer,
// Set OK status code
Response::HTTP_OK,
// Send the response as a WAV file
array('content-type' => 'audio/wav')
);
}
}

Расшифровка (азбука Морзе)

Чтобы декодировать азбуку Морзе и получить ее текстовое представление, создайте экземпляр кода Морзе и используйте fromMorse метод для этого. Этот метод ожидает текст, который вы хотите преобразовать в азбуку Морзе в качестве первого аргумента:

fromMorse($originalMorse);
// Return the decoded text as response
// HELLO,THISISTHETEXTTHATIWANTTOENCODE
return new Response($textResult);
}
}
Ссылка на основную публикацию
Adblock
detector