andrey-helldar/beautiful-phone

此软件包已被弃用且不再维护。作者建议使用 propaganistas/laravel-phone 软件包。

将电话号码格式化为美观的视图

v2.2.0 2020-09-17 14:41 UTC

This package is auto-updated.

Last update: 2020-09-24 10:55:05 UTC


README

将电话号码格式化为美观的视图。

beautiful phone

此软件包已被弃用且不再维护。作者建议使用 propaganistas/laravel-phone 软件包。

Total Downloads Latest Stable Version Latest Unstable Version

StyleCI Travis-CI License

安装

要获取最新版本的 Beautiful Phone Formatter,只需使用 Composer 需求此项目。

composer require andrey-helldar/beautiful-phone

当然,您也可以手动更新您的 require 块并运行 composer update

{
    "require": {
        "andrey-helldar/beautiful-phone": "^2.1"
    }
}

Laravel

您还可以发布配置文件以更改实现(例如,将接口转换为特定类)。

php artisan vendor:publish --provider="Helldar\BeautifulPhone\ServiceProvider"

Lumen

此软件包专注于 Laravel 开发,但它也可以在 Lumen 中使用一些变通方法。因为 Lumen 的工作方式略有不同,它类似于 Laravel 的裸机版本,主要的配置参数位于 bootstrap/app.php 中,因此必须进行一些更改。

您可以在 app/Providers/AppServiceProvider.php 中安装软件包,并取消注释此行以注册 App 服务提供程序,以便它能够正确加载。

// $app->register(App\Providers\AppServiceProvider::class);

如果您不使用该行,通常在管理多个 Lumen 安装时很有用,您必须在您的 bootstrap/app.php 中的 Register Service Providers 部分下添加此行代码。

$app->register(\Helldar\BeautifulPhone\ServiceProvider::class);

使用

现在您可以在 Laravel 框架内部使用通用的 phone() 助手(phone() 也可以工作)。

或者创建一个 Phone 实例

use Helldar\BeautifulPhone\Services\Phone;

return (new Phone())->get(/*...params...*/);

默认参数

return phone('4567');
// returned: <a href='tel:4567'>4567</a>

return phone('fooba');
// returned: <a href='tel:+781236622'><span>+7 (812)</span> 3-66-22</a>

return phone('foobar');
// returned: <a href='tel:+7812366227'><span>+7 (812)</span> 36-62-27</a>

return phone('123123');
// returned: <a href='tel:+7812123123'><span>+7 (812)</span> 123-123</a>

return phone('31234567890');
// returned: <a href='tel:+31234567890'><span>+3 (123)</span> 456-789-0</a>

return phone('+33216549883');
// returned: <a href='tel:+33216549883'><span>+3 (321)</span> 654-98-83</a>

return phone('+33216665557');
// returned: <a href='tel:+33216665557'><span>+3 (321)</span> 666-555-7</a>

return phone('+73216665557');
// returned: <a href='tel:+73216665557'><span>+7 (321)</span> 666-555-7</a>

return phone('+83216665557');
// returned: <a href='tel:+73216665557'><span>+7 (321)</span> 666-555-7</a>

手动应用城市代码

return phone('4567', 1234);
// returned: <a href='tel:4567'>4567</a>

return phone('fooba', 1234);
// returned: <a href='tel:+7123436622'><span>+7 (1234)</span> 3-66-22</a>

return phone('foobar', 1234);
// returned: <a href='tel:+71234366227'><span>+7 (1234)</span> 36-62-27</a>

return phone('123123', 1234);
// returned: <a href='tel:+71234123123'><span>+7 (1234)</span> 123-123</a>

return phone('31234567890', 1234);
// returned: <a href='tel:+31234567890'><span>+3 (1234)</span> 567-890</a>

return phone('+33216549883', 1234);
// returned: <a href='tel:+33216549883'><span>+3 (321)</span> 654-98-83</a>

return phone('+33216665557', 1234);
// returned: <a href='tel:+33216665557'><span>+3 (321)</span> 666-555-7</a>

return phone('+73216665557', 1234);
// returned: <a href='tel:+73216665557'><span>+7 (321)</span> 666-555-7</a>

return phone('+83216665557', 1234);
// returned: <a href='tel:+73216665557'><span>+7 (321)</span> 666-555-7</a>

禁用电话号码中的 HTML 格式化

return phone('4567', 0, false);
// returned: <a href='tel:4567'>4567</a>

return phone('fooba', 0, false);
// returned: <a href='tel:+781236622'>+7 (812) 3-66-22</a>

return phone('foobar', 0, false);
// returned: <a href='tel:+7812366227'>+7 (812) 36-62-27</a>

return phone('123123', 0, false);
// returned: <a href='tel:+7812123123'>+7 (812) 123-123</a>

return phone('31234567890', 0, false);
// returned: <a href='tel:+31234567890'>+3 (123) 456-789-0</a>

return phone('+33216549883', 0, false);
// returned: <a href='tel:+33216549883'>+3 (321) 654-98-83</a>

return phone('+33216665557', 0, false);
// returned: <a href='tel:+33216665557'>+3 (321) 666-555-7</a>

return phone('+73216665557', 0, false);
// returned: <a href='tel:+73216665557'>+7 (321) 666-555-7</a>

return phone('+83216665557', 0, false);
// returned: <a href='tel:+73216665557'>+7 (321) 666-555-7</a>

启用 HTML 格式化并禁用电话号码中的 is_link 参数

return phone('4567', 0, true, false);
// returned: 4567

return phone('fooba', 0, true, false);
// returned: <span>+7 (812)</span> 3-66-22

return phone('foobar', 0, true, false);
// returned: <span>+7 (812)</span> 36-62-27

return phone('123123', 0, true, false);
// returned: <span>+7 (812)</span> 123-123

return phone('31234567890', 0, true, false);
// returned: <span>+3 (123)</span> 456-789-0

return phone('+33216549883', 0, true, false);
// returned: <span>+3 (321)</span> 654-98-83

return phone('+33216665557', 0, true, false);
// returned: <span>+3 (321)</span> 666-555-7

return phone('+73216665557', 0, true, false);
// returned: <span>+7 (321)</span> 666-555-7

return phone('+83216665557', 0, true, false);
// returned: <span>+7 (321)</span> 666-555-7

禁用 HTML 格式化和电话号码中的 is_link 参数

return phone('4567', 0, false, false);
// returned: 4567

return phone('fooba', 0, false, false);
// returned: +7 (812) 3-66-22

return phone('foobar', 0, false, false);
// returned: +7 (812) 36-62-27

return phone('123123', 0, false, false);
// returned: +7 (812) 123-123

return phone('31234567890', 0, false, false);
// returned: +3 (123) 456-789-0

return phone('+33216549883', 0, false, false);
// returned: +3 (321) 654-98-83

return phone('+33216665557', 0, false, false);
// returned: +3 (321) 666-555-7

return phone('+73216665557', 0, false, false);
// returned: +7 (321) 666-555-7

return phone('+83216665557', 0, false, false);
// returned: +7 (321) 666-555-7

带有完整清除属性

return phone('4567', 0, false, false, [], true);
// returned: 4567

return phone('fooba', 0, false, false, [], true);
// returned: +781236622

return phone('foobar', 0, false, false, [], true);
// returned: +7812366227

return phone('123123', 0, false, false, [], true);
// returned: +7812123123

return phone('31234567890', 0, false, false, [], true);
// returned: +31234567890

return phone('+33216549883', 0, false, false, [], true);
// returned: +33216549883

return phone('+33216665557', 0, false, false, [], true);
// returned: +33216665557

return phone('+73216665557', 0, false, false, [], true);
// returned: +73216665557

return phone('+83216665557', 0, false, false, [], true);
// returned: +73216665557

带有附加属性

$attributes = ["id" => "foo", "class" => "bar baz", "data-value" => "foo"];

// Default parameters:
return phone('foobar', 0, true, true, $attributes);
// returned: <a href="tel:+7812366227" id="foo" class="bar baz" data-value="foo"><span>+7 (812)</span> 36-62-27</a>

// With manual applying city code:
return phone('foobar', 1234, true, true, $attributes);
// returned: <a href="tel:+71234366227" id="foo" class="bar baz" data-value="foo"><span>+7 (1234)</span> 36-62-27</a>

// With disabled html formatting into phone number:
return phone('foobar', 0, false, true, $attributes);
// returned: <a href="tel:+7812366227" id="foo" class="bar baz" data-value="foo">+7 (812) 36-62-27</a>

// With enabled html formatting and disabled `is_link` parameter into phone number:
return phone('foobar', 0, true, false, $attributes);
// returned: <span>+7 (812)</span> 36-62-27

// With disabled html formatting and `is_link` parameter into phone number:
return phone('foobar', 0, false, false, $attributes);
// returned: +7 (812) 36-62-27

Laravel/Lumen 门面

如果您正在使用 Laravel 或 Lumen 框架,那么您可以使用 Phone 门面调用。

use Helldar\BeautifulPhone\Facades\Phone;

return Phone::spanLink('foobar');
// returned: <a href='tel:+7812366227'><span>+7 (812)</span> 36-62-27</a>

return Phone::cleanLink('foobar');
// returned: <a href='tel:+7812366227'>+7 (812) 36-62-27</a>

return Phone::span('foobar');
// returned: <span>+7 (812)</span> 36-62-27

return Phone::clear('foobar');
// returned: +7 (812) 36-62-27

return Phone::fullClear('foobar');
// returned: +7812366227

版权和许可

Beautiful Phone Formatter 是由 Andrey Helldar 编写的,并在 MIT 许可证 下发布。