使用Twig格式化电话号码

use*_*531 6 php twig

我使用char(10)将电话号码存储在数据库中,例如它们4155551212.

我希望Twig模板将它们显示为(415) 555-1212.

这怎么做得最好?

use*_*531 10

不必每次都添加这个过滤器会很好,但它会满足我的需求.

<?php
require_once '../../../vendor/autoload.php';
Twig_Autoloader::register();
try {
    $loader = new Twig_Loader_Filesystem('templates');
    $twig = new Twig_Environment($loader, array('debug' => true,));
    $twig->addExtension(new Twig_Extension_Debug());
    $twig->addFilter(new Twig_SimpleFilter('phone', function ($num) {
        return ($num)?'('.substr($num,0,3).') '.substr($num,3,3).'-'.substr($num,6,4):'&nbsp;';
    }));
    echo $twig->render('filter.html', array('phone'=>'4155551212'));
} catch (Exception $e) {
    die ('ERROR: ' . $e->getMessage());
}
?>
Run Code Online (Sandbox Code Playgroud)

filter.html

{{ phone|phone }}
Run Code Online (Sandbox Code Playgroud)