前の記事 ≪:コードスニペット共有サイト:Snipplr
次の記事 ≫:SQLインジェクション再現デモムービー

PHP+CSSで見出し部分を画像で動的に美しく表示するサンプル

2006年07月03日-はてなブックマーク

スポンサード リンク
[PR] 英単語を忘却曲線アプリを使って超効率よく記憶する方法
PHP & CSS Dynamic Text Replacement (P C DTR) with word-wrapping
PHP CSS Dynamic Text Replacement is a JavaScript-free version of the Dynamic Text Replacement method originally created by Stewart Rosenberger.
PHP+CSSで見出し部分を画像で動的に美しく表示するサンプル。
<h1>タグなどで囲った見出し部分をアンチエイリアスのかかった特定フォントで次の画像のように美しく表示するサンプル。
画像なので、どのプラットフォームでも同様の見え方で表示できる上、CSSで実現しているためクリーンなHTMLによる実装が可能。
また、長い文字列が<h1>タグに指定されていても、自動で折り返されます。



HTMLは次のような感じでクリーン。



どうやっているかというと、まずPHPで出力HTMLをバッファリングしておいて、バッファしたHTMLコードを文字列置換で書き換えているようです。
書き換えた後のコードにはCSSが追加されていて、CSSの背景画像として、動的に画像文字列生成用のURLが指定されます。

企業サイトなんかでは見出しをこのように画像の形にして見栄えを保っているケースがありますが、この方式で実装すれば、いちいち文字列画像を編集ソフトで作らないでもいいため、新しくコンテンツが追加された場合でも面倒に感じる必要がないですね。

PHPとGD+FreeTypeが使えるサーバなら配布されてるソースが使えると思います。

出力をバッファしたり、画像を動的に作ったりと、サーバへの負荷がその分かかるのでアクセスの多いサイトにはオススメできませんが、
画像出力部分で画像をキャッシュするなどすれば、それなりに使えるでしょう。
関連の記事検索:PHP, デザイン, 画像
スポンサード リンク

By.KJ : 2006年07月03日 09:01 livedoor Readerで購読 Twitterに投稿

間違いの指摘をしていただける方はメール、あるいはTwitter/FBでお願いします(クリック)