如何在视图中格式化dotProject电话号码字段


How to format dotProject phone number fields in a view

我目前使用的dotProject 2.1.3版本为我们的公司,我想在查看公司视图的电话号码格式的一点帮助。目前,它允许您放置和一组数字在任何格式。所以我可以输入(619)555-1234 ext-123,它就会这样显示。我的问题是我不希望这个数字以这种方式存储在数据库中。我只希望数据库将这些数字存储为一个整数。

所以我正在处理的是以下代码。如何改变这个php页面代码显示电话号码在一个视觉上令人愉悦的格式,如从这个55512312125512到这个(555)123-1212 ext:5512?字段当前的样子

<tr>
        <td align="right" nowrap="nowrap"><?php echo $AppUI->_('
        '); ?>:</td>
        <td class="hilite"><?php echo @$obj->company_phone1; ?></td>
    </tr>
    <tr>
        <td align="right" nowrap="nowrap"><?php echo $AppUI->_('Phone'); ?>2:</td>
        <td class="hilite"><?php echo @$obj->company_phone2; ?></td>
    </tr>
    <tr>
        <td align="right" nowrap="nowrap"><?php echo $AppUI->_('Fax'); ?>:</td>
        <td class="hilite"><?php echo @$obj->company_fax; ?></td>
    </tr>

为这3个电话号码字段显示格式(555)123-4567 ext-any数字,仍然存储在数据库中的连续数字,如555123456?

任何帮助都将是非常感激的。

谢谢你,

$data = $AppUI->_('Phone');
if(preg_match( '/^'+'d('d{3})('d{3})('d{4})$/', $data,  $matches )) {
    $result = '(' . $matches[1] . ')' .$matches[2] . '-' . $matches[3];
    echo $result;
}

应该可以

这适用于dotProject 2.1.3版本的modules/companies/view.php页面:

<tr> <td align="right" nowrap="nowrap"> <?php echo $AppUI->_('Phone'); ?>: </td> <td class="hilite"> <?php $data = @$obj->company_phone1; if(preg_match( '/^('d{3})('d{3})('d{4})('d*)$/', $data, $matches )) { if($matches[4] != '') $result = '(' . $matches[1] . ')' .$matches[2] . '-' . $matches[3] . ' ext.' . $matches[4]; else $result = '(' . $matches[1] . ')' .$matches[2] . '-' . $matches[3]; echo $result; } ?> </td> </tr> </code>

感谢(alexa -sorin-dachin)提供