printf関数
- 文字列を整形する関数
- printf
- sprintf
- メリット
sprintf('文字列',変数,変数,...);
型指定子
桁数指定
/// 右づめ ///
%6d
/*最低六桁*/
/// 左づめ ///
%-6d
/// ゼロづめ ///
%06d
/* 余った桁をゼロで埋める指定
* -345 → -00345 */
/// 精度 ///
%6.3f
/* 上の例なら最低幅6、小数点以下3桁
* -0.3 → 「-0.300」
* 3 → 「 3.000」 */
/// 符号 ///
%+6.3f
/* 正負にかかわらず符号を表示する指示
* -0.3 → -0.300
* 3 → +3.000 */
- preg_match
- mb_ereg_match
- preg_replace
preg_replace
参考:PHP: preg_replace - Manual
<?php
$mail_addr = 'hanawa-ナントカ@example.co.jp';
$mail_addr2 = 'ナントカ-カントカ@ドメイン名例.jp';
function replace_mailaddress2($mail_addr) {
return preg_replace('/(hanawa-.*@)example.co.jp$/','\\1ドメイン名例.jp',$mail_addr);
}
function replace_mailaddress3($mail_addr) {
return preg_replace('/(.*)-(.*)@(.*)$/','$2-$1@$3',$mail_addr);
}
echo replace_mailaddress2($mail_addr)."\n";
echo replace_mailaddress3($mail_addr2)."\n";
?>
hanawa-ナントカ@ドメイン名例.jp
カントカ-ナントカ@ドメイン名例.jp
- ()で囲んだ値が\\1で呼び出されている。
- \\1の代わりに$1でもよい。
もし、ハイフンが3つ以上あったらどうなるか?
<?php
$mail_addr2 = 'abc-def-ghi@example.jp';
function replace_mailaddress3($mail_addr) {
return preg_replace('/(.*)-(.*)@(.*)$/','$2-$1@$3',$mail_addr);
}
echo "before\t".$mail_addr2."\n";
echo "after\t".replace_mailaddress3($mail_addr2)."\n";
before abc-def-ghi@example.jp
after ghi-abc-def@example.jp
<?php
if (!isset($_GET['action'])) {
$action = 'login';
} else {
if (file_exists ('model/'.$_GET['action'].'.php')) {
$action = $_GET['action'];
} else {
$action = 'login';
}
}
require_once 'library.php';
require_once 'model/'.$action.'.php';
require_once 'view/temp_'.$action.'.php';