1

私は現在、会社で dotProject バージョン 2.1.3 を使用しています。ビュー会社ビューの電話番号形式について少し助けてください。現在、任意の形式で数値を配置およびグループ化できます。したがって、(619)555-1234 ext-123 と入力すると、そのように表示されます。私の問題は、番号をそのようにデータベースに保存したくないということです。データベースに数字だけを1つの整数として保存したいだけです。

だから私が取り組んでいるのは次のコードです。この 55512312125512 からこの (555)123-1212 ext:5512 のような視覚的に心地よい形式で電話番号を表示するように、この php ページ コードを変更するにはどうすればよいですか? フィールドが現在どのように見えるか

<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-任意の桁数の形式で表示し、555123456 のような連続番号としてデータベースに保存するにはどうすればよいですか?

どんな助けでも大歓迎です。

ありがとうございました、

4

2 に答える 2

0

これは、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-28T23:24:00.010 に答える
0
$data = $AppUI->_('Phone');

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

これはうまくいくはずです

于 2012-12-21T08:25:30.350 に答える