/laravel-punycode

Package for encoding of Unicode for Internationalized Domain Names in Applications (IDNA)

Primary LanguagePHPMIT LicenseMIT

Laravel Punycode

This package converts a Unicode encoded domain name to a IDNA ASCII form and vice-versa.

Install

Run:

composer require "fomvasss/laravel-punycode"

For Laravel < 5.5 Add in ServiceProvider to the providers array in config/app.php

  Fomvasss\Punycode\PunycodeServiceProvider::class,

Publish configs (optional):

php artisan vendor:publish --provider="Fomvasss\Punycode\PunycodeServiceProvider" --tag="config"

Usage

Usage facade

You can now using the facade, using the PSR-3 levels (encode, decode): Add in your class the facade:

use Fomvasss\Punycode\Facades\Punycode;

Example usage:

var_dump(Punycode::encode('веб-вест.сайт'));
// outputs: xn----9sbccmd8fi.xn--80aswg;

var_dump(Punycode::decode('xn----9sbccmd8fi.xn--80aswg'));
// outputs: веб-вест.сайт

#Usage helper functions

punycode_encode('веб-вест.сайт');
punycode_decode('xn----9sbccmd8fi.xn--80aswg');

Links:

License

Faker is released under the MIT Licence. See the bundled LICENSE file for details.