我目前正在为我们的公司使用dotProject版本2.1.3,我希望在查看公司视图中的电话号码格式方面有一点帮助。目前,它允许您以任何格式放置和分组数字。所以我可以输入(619)555-1234 ext-123,它将以这种方式显示。我的问题是,我不希望以这种方式将数字存储在数据库中。我只想让数据库将数字存储为一个整数。
所以我使用的是下面的代码。如何将此php页面代码更改为以视觉上令人愉快的格式显示电话号码,如从此55512312125512到此(555)123-1212ext:5512?what the fields currently look like
<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-4567ext-任何数字,并仍然作为连续数字存储在数据库中,如555123456?
任何帮助都将不胜感激。
谢谢,
发布于 2012-12-29 07:24:00
这适用于modules/companies/view.php页面上的dotProject版本2.1.3:
<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>这是由(alex-sorin-dachin)提供的
发布于 2012-12-21 16:25:30
$data = $AppUI->_('Phone');
if(preg_match( '/^\+\d(\d{3})(\d{3})(\d{4})$/', $data, $matches )) {
$result = '(' . $matches[1] . ')' .$matches[2] . '-' . $matches[3];
echo $result;
}这应该是可行的
https://stackoverflow.com/questions/13986535
复制相似问题