ウェブデザインに関する勉強ブログ


July 25, 2005

PHP便利な関数 6

髪を切ってから、「ムショ帰り」とか「修行僧」とか言われるようになりました。
このままチベットあたりに行ってしまいたい気分です。Miyaです。

Perlでファイルを読み込んで、配列に格納し、
その中で一番大きい数に番号を追加するなど、最大値を出したい時、

sub maxval {
 my @data = @_;

 return if @data == 0;

 my $max = shift @data;
 foreach my $val (@data) {
  if ($max < $val) {
   $max = $val;
  }
 }
 return $max;
}

このようなサブルーチンを準備していました。

これを元にして、PHP版を作ろうとしていたところ、既に準備されていました。

max -- 最も大きい数値を返す

max() の()には配列も使用できますし、整数、文字列、倍精度実数でも使用できます。

人気blogランキングへー。

July 21, 2005

PHP便利な関数 5

ここ最近の暑さで、今日ダウンしかけたMiyaです。こんにちは。
夏バテには注意しましょう。

DBを使わない環境において、
入力内容から重複したものを除外するのはなかなか労力を必要とします。
Perlでプログラムを作っていた頃は連想配列を駆使して、
何とか一意の情報を出力させていましたが、PHPでは既に一つの関数として用意されています。

array_unique

array_unique() は、 arrayを入力とし、値に重複のない新規配列を返します。

注意すべき点はキーが保持されることと、最初の要素が使用される事でしょうか。

例えば、最初に文字項目として"3"という要素があった場合、あとに数字として3という要素があってもそれは全て文字項目の"3"にまとめられます。

膨大なエントリーからメールアドレスの重複を省いたり、日にちごとのエントリー有無の確認など知っていると結構役に立つ関数の一つではないでしょうか。

人気blogランキングへー。

July 19, 2005

PHP便利な関数 4

全国的に梅雨明けしたそうですね。
アウトドアの季節です。準備はOKですか?Miyaです。

さて、RSSの情報を取得して表示させようとする時、エントリー全文を表示させたり、
body部分のみを表示させる場合は良いのですが、表示する文字をプログラムで
抑制させようとする場合、タグが邪魔になってしまう場合があります。

画像タグやリンクタグが途中で切れる事によって、表示全体のレイアウトが崩れたり・・・。

今までは、置換関数と正規表現を使って、強制的にタグを除去していたのですが、
調べてみると便利な関数がありました。

strip_tags

この関数は、指定した文字列から全てのHTMLおよびPHPタグを取り除きます。

この関数の便利なところは、$string = strip_tags($string, '<br><b>'); とタグを
指定することによって、必要なタグを残すことが出来ることです。
画像は不要だけど、改行は必要、とかリンクは不要だけど、強調は残したい。
などという場合、利用価値は高いと思います。

ただ、ユーザーの入力内容がそのまま表示されるページについては、
悪意のある記述がそのまま通る可能性がありますので、
使用場面を考える必要はありそうですね。

人気blogランキングへー。

July 13, 2005

グッドデザイン

こんにちわ。ミオです。

グッドデザイン・プレゼンテーション2005公式サイトがオープンしたみたいです。

Gマークとは?
「単に美しさだけでなく、機能、品質、安全性などはもちろん、暮らしへの提案までをも含んだ総合的な質の高さを示していると判断されたものについて「グッドデザイン賞」が贈られます。」
~http://gdp.japandesign.ne.jp/g-mark.html~

ライブラリーからは過去の受賞作品の概要や、デザイナーのコメントなども見ることができ、おもしろいです。


人気blogランキングへー。

July 12, 2005

PHP便利な関数 3

今日も雨模様でした。
香川には恵みの雨ですが、そろそろ夏の太陽も見たいかなMiyaです。

Webにおいて半角カタカナは厳禁です。
受け付けたデータをメールで送信する時、
文字化けを起こして確認できなくなっては大変です。

受付フォームによっては、「半角カナは使用しないでください」と記述したり、
半角カナの場合はエラーを返したり、と対応は様々ですが、
一番親切なのは半角カタカナを全角カタカナに変換することではないでしょうか。

Perlで開発を行なっていた頃は、共通のモジュールを使っていましたが、
濁点文字が文字と濁点の2文字に変換されてしまうために、
変換用サブルーチンを準備していました。

しかし、PHPでは関数として搭載されています。

mb_convert_kana -- カナを("全角かな"、"半角かな"等に)変換する

使用可能な変換オプション

オプション : 以下のオプションを変換時に指定します。デフォルトは
"KV"です。
"r" : 「全角」英字を「半角」に変換
"R" : 「半角」英字を「全角」に変換
"n" : 「全角」数字を「半角」に変換
"N" : 「半角」数字を「全角」に変換
"a" : 「全角」英数字を「半角」に変換
"A" : 「半角」英数字を「全角」に変換
("a", "A" オプションに含まれる文字は、U+0022, U+0027, U+005C,
U+007Eを除く U+0021 - U+007E の範囲です)
"s" : 「全角」スペースを「半角」に変換 (U+3000 -> U+0020)
"S" : 「半角」スペースを「全角」に変換 (U+0020 -> U+3000)
"k" : 「全角片仮名」を「半角片仮名」に変換
"K" : 「半角片仮名」を「全角片仮名」に変換
"h" : 「全角ひら仮名」を「半角片仮名」に変換
"H" : 「半角片仮名」を「全角ひら仮名」に変換
"c" : 「全角かた仮名」を「全角ひら仮名」に変換
"C" : 「全角ひら仮名」を「全角かた仮名」に変換
"V" : 濁点付きの文字を一文字に変換。"K","H"と共に使用します。

特徴としては、複数のオプションを同時使用できること、
濁点文字も1文字として変換できることです。

これを応用すれば

○電話番号チェック
 全角英数記号→半角英数記号→数字チェック

○メールアドレスチェック
 全角英数記号→半角英数記号→メールアドレスチェック

といった入力チェックにも使用できそうですね。

人気blogランキングへー。

July 11, 2005

Podcast

◎物欲あれこれ

おはようございます、Hikkyです。

COULDのヤスヒサさんのセミナーでその魅力をお聞きして以来、ずっと気になっているPodcasting。身近に始めている方はいらっしゃいますか?
あれ楽しそうですねー。
2010年にはPodcast利用者数は5600万人にもなるという予測データもあるとか。

はてなアイデアミーティングのPodcastingも気になる・・・。まだまだおもしろいPodcastingがいっぱいありそう。
今まで特に音楽も聴かずに生活していましたが、耳で聞く情報もいいものです。

無料のラジオ番組Podcastのブラウズ、検索、プレビュー、登録ができるようになったi Tunes4.9はこちらからダウンロードできます。
あー。iPodでPodcasting聴きたい・・・。

Podcastingについて詳しくはPodcast Now!さんのブログがおすすめです。
目的別メニュー(ポッドキャスティングとは?ポッドキャスティングを聞くには?自分の番組を配信するには?番組配信のTips)がとてもわかりやすいですよ。

そんなわけで、どなたか私にiPodをくれるといいと思います。

人気blogランキングへー。

フォクソノミー

おはようございます。nakauです。
今日はFlickrdel.ico.usなどでだいぶ一般的になってきたフォクソノミーについて。

フォクソノミー(Forksonomy)
・・・タグと呼ばれるキーワードで直感的、多次元的に分類すること。

Flickr、del.ico.usを使ってみると解ると思いますが、タグの分類に慣れるとフォルダ階層に見立てたジャンル分けが本当に面倒くさく感じます。

続きを読む "フォクソノミー"

July 08, 2005

PHP便利な関数 2

もうすぐ海の日ですね。
連休の予定はOKですか?Miyaです。

RSSからブログの内容をPHPで表示させる時、
文字数が多くなると、見た目が悪くなります。

続きを読む・・・のようにすれば良いのですが、
それでもエントリーをする人によって文字数が変わってきます。

その時、指定文字数のみ表示させ、あとは「・・・」という風に
しようと下のようなプログラムを作りました。

$item["description"] = mb_substr($item["description"],0,70);

しかし、これは文字コードによって化けてしまい、
うまくいきませんでした。

そこで色々と調べたところ、見つけたのが次の関数。

$item["description"] = mb_strimwidth ($item["description"], 0, 70, "…",utf8);

mb_strimwidth -- 指定した幅で文字列を丸める

文字数の指定から、文字コード、後ろに付け足す文字まで、
すべて一つの関数で事足りるのでかなり便利です。

知っているとちょっと得する。
そんなものをこれからも紹介出来ればと思います。

人気blogランキングへー。

RSSリーダーはどちらへ?2

ども、岡崎です。

前にRSSリーダーの行く末について書きましたが、別の方向性が。

RSSはブロガーだけのものではなくなる

続きを読む "RSSリーダーはどちらへ?2"

July 05, 2005

PHP便利な関数

最近座っているだけでも汗ばんできますMiyaです。

以前はPerlでプログラミングをしていましたが、
最近PHPでプログラミングを行なうことも多くなってきました。

PHPはPerlに比べ、Webで使い勝手の良い関数が準備されているのが特徴ですね。

そのような便利な関数を備忘録代わりに紹介していきたいと思います。

みなさんの「こういうときはどうするの?」や、
「これ知ってる?」も教えていただけると嬉しいです。

今回は、Webで表示させる上で基本となる関数から。

○htmlspecialchars
 特殊文字をHTMLエンティティに変換してくれます。
 シングルクォート、ダブルクォートも変換可能なのが特徴です。

○nl2br
 改行文字の前にHTMLの改行指定文字を挿入します。
 ただ、改行コードはそのまま残るので、
 改行コードが不要な場合は、置換処理が必要です。

人気blogランキングへー。