文字列操作系関数を使っても簡単だが、専用の関数が用意されています。
$pif = pathinfo('/path/to/filename.ext');
処理結果はこのように格納されます。
Array
(
[dirname] => /path/to
[basename] => filename.ext
[extension] => ext
[filename] => filename
)
文字列操作系関数を使っても簡単だが、専用の関数が用意されています。
$pif = pathinfo('/path/to/filename.ext');
処理結果はこのように格納されます。
Array
(
[dirname] => /path/to
[basename] => filename.ext
[extension] => ext
[filename] => filename
)
置き換え用のタグを連想配列($row)で置き換える例です。どちらとも同じ動きをします。
PHP5.3以降では、クロージャスコープを使ってすっきり書くことができます。
$row = array( ... );
$html = preg_replace_callback(
'//',
function ($match) {
return $row[$match[1]];
},
$html
);
PHP5.3未満では、create_function を使って力技で展開すれば実現できます。
$row = array( ... ); $seri = serialize($row); $html = preg_replace_callback( '//', create_function( '$match', '$seri = '.var_export($seri,true).';'. '$row = unserialize($seri);' . 'return $row[$match[1]];' ), $html );
下記は、単に date 関数を呼び出したときと同じ結果となります。
$func = 'date';
echo $func('Y-m-d H:i:s');
$array = explode("\n",$text);
CSS3で追加された :empty 擬似クラスを使うと、最終出力で空になった要素を非表示にできます。
最終出力で結果的に空になって、その要素のマージンだけスペースが無駄になるような場合に有効かと思います。
div.info:empty {
display: none;
}
文字列関数に nl2br というのがありますが、改行を置き換えてくれないのであまり好きじゃないです。
$caption = preg_replace('/\r?\n/','<br>',$caption);
やっぱり、スクリプトのパラメータがゴチャゴチャするのは好まないので、mod_rewrite で綺麗にしようとしているところ。
やっぱり大変、頭の体操。分けわからなくなって、表示エラー連発させてるのはみっともないので、しばらくは水面下でやることにします。
今度、公開するときは立派なブログになっている予定。は未定。
カレンダー作成に向く配列データを返す関数です。 前後の半端な隣の月データも含んでいますので、単純なループを組むことでカレンダーを構成することができます。
今月のカレンダーを二次元配列で受け取る例です。
include('calendar.inc.php');
$days = make_calendar(time(),2);
引数と戻り値の説明
$days = make_calendar($dt,$dim,$monday);
今月の末日日付を求めるには下記のようにします。今月が12月でも正しく求まります。
$last = mktime(0,0,0,date('m')+1,0,date('Y'));
テンプレートシステムの改善とエスケープ処理の見直し、そしてようやくこのブログにページャが付いた、と言ってもまだ2ページ目になるほどの記事が無いっす。
ウェブのシステムというのはパターン化されつくしてて、毎度同じような処理しかしてない、と言うことに改めて気づく一日。だから、一般化したくなるしフレームワークを使いたくもなる。しかし、かっちりした真っ当なフレームワークは、回りくどくて行儀良すぎて使ってて楽しくない。今回作っているフレームワークは、かなりの自由度を持ったまま、最小限のコーディングでシステムをリリースできる、そういうのを目指しています。今のところ、大いに成功してますし、気に入っています。このブログもその成果のひとつ。が、しかーし、記事投稿が PgAdmin やー。