我目前使用的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)提供