こんにちは。小川です。 本日は数あるPHPの関数の中でも、わりと知られてそうで実は知らない人もいるかもしれない便利な関数をご紹介します。 ■nl2br 改行コードを<br />に変換する関数です。 <?php $string = <<<EOS foo bar baz EOS; echo nl2br($string);
APIやRSSなどを提供しているサイトは、情報を簡単に扱うことができますが、例えば Yahoo!の検索結果とか、mixiのニュースとか、あるサイトの一部を取り出したいことってよくあります。(とはいえ、著作権違反には注意 そんな時、PHPのライブラリである「htmlSql」を利用すると便利。このライブラリに、ファイルでもURLでも文字列でも、HTMLで作られたものなら何でも与えると、解析して取り出しやすくしてくれます。しかも、その取り出し方はSQL! 例えば、「id属性が’test’の p要素の内容を取り出したい」という場合には、次のようなSQLを使います。 SELECT text FROM p WHERE $id=="test" 超パワフル。ということで、これを CakePHPで利用するためのテクニック。 まずは、ダウンロードしたファイルの中から次のファイルを「app/vendors」フォ
CSS3のでのボックス要素デザインを圧倒的に簡単化できる「CSS3 Click Chart... 次の記事 ≫:アプリやWEBサイトに使えそうなフリーな244個のアイコンセット kses - PHP HTML/XHTML filter | Download kses - PHP HTML/XHTML filter software for free at SourceForge.net PHPで予め許可したタグと属性以外を除去できるライブラリ「kses」。 外部からの入力値は基本的にhtmlspecialcharsでタグを無効化するのが通常の考え方ですが、掲示板なんかで特定のタグを許可したいという場合があります。 PHPにはstrip_tagsというようなタグを除去しつつ、特定のタグのみを残すという関数が標準であったりしますが、これだと属性までは制御しきれません。 更には、<a href=
WideImage - An open-source PHP library for image manipulation PHPで画像のリサイズ/切抜き/合成といった処理が簡単に行えるライブラリ「WideImage」のご紹介です。 PHPからGDを使えばリサイズや切抜きは比較的簡単に出来るものの結構面倒だったりします。 そこで、WideImageを使えば、次のようにオブジェクト指向で簡単に、あとで見ても理解しやすいコードで記述可能です。 WideImage::load('big.png')->resize(50, 30)->saveToFile('small.jpg'); // big.png を読み込んで50x30ピクセルにリサイズしてsmall.jpgに保存 WideImage::load('pic.jpg')->crop('center', 'center', 90, 50)->o
Google Translation PHP wrapper : CodeDiesel Google翻訳をPHPから使って翻訳できるクラスライブラリが公開されています。 Google AJAX Language API を使ったもので、JSONデータを返してくれるAPIを使って簡単に翻訳出来ます。 例えば、実際に翻訳をする場合は次のようにクラスを new して translate メソッドに翻訳したい文書と from, to の言語コードを入れればOK。 <?php require_once('googleTranslate.class.php'); $gt = new GoogleTranslateWrapper(); $test = "Bonjour de cette partie du monde"; echo $gt->translate($test, "en", "fr"); ペ
PHPによるデザインパターン入門 秀和システムから発売となった「PHPによるデザインパターン入門」(ISBN4-7980-1516-4・ 2006/11/23発売)を執筆しました(共著です)。 「PHPを使ってGoFパターンを見ていこう」的な書籍になっています。GoFパターンについては、それぞれパターンの説明とサンプルコードという構成です。サンプルコードは、CentOS4.4/Windows XP(SP2)+PHP5.1.x/5.2.0で動作確認しています。 目次は以下の通りです。 1章 デザインパターンの世界へようこそ デザインパターンって何? デザインパターンとは? オブジェクト指向 GoFパターン デザインパターンのメリット・デメリット デザインパターンを使うメリット デザインパターンを使うデメリット PHPとオブジェクト指向 PHPとは? PHP5でのオブジェクト指向開発 2章
アメリカ時間の昼ごろにTwitter上が一つのニュースで埋め尽くされました。 PHPをC++に変換して高速化する技術をFacebookが公開したというものです。世界中のPHPハッカーが注目する興味深いリリースという事でちょっと長いですが、リリースノートの和訳を行いました。 原文 http://developers.facebook.com/news.php?blog=1&story=358 Facebookにおいて重要なことのひとつが動作の速さです。過去6年間にわたって、PHPが提供する高速な開発ペースによって多くを成し遂げてきました。プログラミング言語としてみると、PHPはシンプルです。簡単に習得し、簡単に書き、簡単に読み、簡単にデバッグする事ができます。我々は他の言語よりも早くエンジニアを獲得し、それによってより早いイノベーションをすることができます。 今日、私は2年に渡って作業して
PHPのあの関数をJavaScriptでやるには?をまとめた「phpjs.org」 2009年12月04日- PHPのあの関数をJavaScriptでやるには?をまとめた「phpjs.org」が便利です。 PHPを使っていて、JavaScript もかいているときに、PHPのあの関数をJavaScript で実装したいんだけどなぁ、という場合に索引から牽けて参考になります。 例えば、functions ページには使える関数がまとまっているのですが、array系、ソート系、入力チェック系やオブジェクト指向系、日付、ファイルシステム系、Math系、ハッシュなど実に多数のJavaScript用php関数が掲載されています。 例えば、addslashes だと次のような感じでJSのソースが見れます。 function addslashes (str) { return (str+'').repla
PHPを使って3分で作る3キャリア対応ケータイサイト Tweet 2009/11/17 火曜日 matsui Posted in ソフト紹介, 全キャリア対応 | 28 Comments » 本日は3分で3キャリア対応ケータイサイト作れてしまうというPHPスクリプト、「らくらくケータイ3キャリアコンバーター(仮名)」を作成してみましたので、そのご紹介をさせていただきます。 先日のPHP勉強会で発表させていただきました。 ご参加いただいた皆様、本当にありがとうございました。 発表資料をアップしてありますので、まずはこちらをご覧ください。 PHPを使って3分で作る3キャリア対応ケータイサイト View more documents from ketaiorg. ということで、「3分で作る」とは謳っているものの、ドコモ用に作られたHTMLを他キャリア用にコンバートするだけの、実に簡素な作りです。
PHP, crypthttp://blog.spicebox.jp/labs/2009/01/php.html?utm_source=labblogrss&utm_medium=rss ちょっとわけあって、PHP で復号可能な暗号化を処理を組み込むことになりました。いったん暗号化して DB に格納し、あとで復号するという手順です。 さすがに生でパスワードを格納するのは嫌ですし、調べてみると意外と全体の流れを解説したものはあまり多くはなかったもよう。せっかくですのでスタンダードな暗号化/復号についてまとめてみたいと思います。 暗号化が好きだ! - Favorites! けっこう情報が少ないので、順を追って調べていきます。 PHPの可逆暗号化関数について - 教えて!goo とりあえず、mcrypt 系を使うのがよさそうだ、というヒントが得られました。 PHP: mcrypt_generic
Google Analyticsから訪問数・PV数をPHPでゲットするサンプルコードが公開されています。 Google Analytics PHP API example - SWIS BV にて公開されている、analytics.class.php というライブラリを使ったサンプルになりますが、次のようなコードで簡単に取得できます。 <?php $analytics = new analytics('aaa@aaa.aaa', 'P@ssw0rd'); $analytics->setProfileByName('davidwalsh.name'); $analytics->setMonth(date('n'), date('Y')); // 日ごとの訪問者数を得る print_r($analytics->getVisitors()); // 日ごとのPV数を得る print_r($ana
何故かあたり前にならない文字エンコーディングバリデーション | yohgaki's blog ってあるように、いまいち文字コードの不正な判定による危険性ってのが分かってない。 SJISの問題は、(2/3)SQLインジェクションを根絶!セキュア開発の極意 - 第5回■注目される文字コードのセキュリティ問題:ITproの記事がわかりやすかった。 というか、やっぱりPHP使ってると誰でも一度は「なんじゃこの『¥』は?」って思うもんなんで。 なるほど、確かに↓の図のように「あるバイト」が2つの意味を持つっていう文字コード形態はやばいんだなと。 EUC-JPはそんなことはしないで、1つのバイトには1つの意味しか取らせない。 だけど、これでも文字化けが起こることがある。経験的には、「マルチバイトをXX文字で切り落としたい」とかやった場合。ちゃんと文字コードを判定してくれるPHPでいえばmb_subst
PHPからOffice・Photoshop・PDF等の各種ファイルを操作するためのライブラリまとめ 2009年07月30日- PHPからOffice・Photoshop・PDF等の各種ファイルを操作するためのライブラリを過去に紹介したものを含め、まとめてみました。 PHPから別フォーマットを生成・読み出し等を扱う場合に使えると思います。 MS Office系 MS Office形式のファイルもPHPから読み書きが出来てしまいます。 PHPからWordやPowerPointのファイルを作る方法 PHPからWord、Excel、PowerPointのドキュメントを生成するサンプル PHPでDOCファイルをPDFファイルに変換する方法 PHPでWordのdocファイルやPDFをテキストとして読み取る方法 PHPでExcel2007のファイルを扱えるクラスライブラリ「PHPExcel」 PHPEx
最近公開されたPHP関連の各種テクニックや記事集をご紹介。 開発に役立てられるTIPSが満載になっております。 Making Life Better With The SPL Autoloader | BrandonSavage.net spl_autoload_registerで独自autoloaderを作成する 3 Ways to Speed up Your Site with PHP - Nettuts+ PHPを使ってサイトのパフォーマンスをあげる3つの方法。CSS結合、ホワイトスペース除去、キャッシュ Online File Storage with PHP - Nettuts+ PHPでオンラインストレージ作成のチュートリアル In the Woods - Working with Sessions and Cookies in PHP and MYSQL PHPとMySQLで
PHPプログラムを解析して何処が重いか?がブラウザ上で簡単に分かる「XHProf」 2009年03月25日- XHProf Documentation (Draft) PHPプログラムを解析して何処が重いか?がブラウザ上で簡単に分かる「XHProf」。 通常、PHPでのプロファイリングというと、Xdebugでファイルを吐き出して、WinCacheGrindやKCacheGrindで読み込むというのが定番です。 ですが、この方法だと、ファイルを吐き出したファイルをGETして、ソフトに読み込ませる、というちょっと面倒な手順が必要でした。 XHProf を使えば、ブラウザ上で、プロファイリングが出来るみたいです。 XHProfの特徴 まず、セグメントごとの実行時間やメモリ利用の状況なんかがブラウザで見れます。 プログラムの構造を把握するのにも使えます。 プロファイリングの階層表示 2つのプロファ
PHP, crypthttp://blog.spicebox.jp/labs/2009/01/php.html ちょっとわけあって、PHP で複合化可能な暗号化を処理を組み込むことになりました。いったん暗号化して DB に格納し、あとで複合化するという手順です。 さすがに生でパスワードを格納するのは嫌ですし、調べてみると意外と全体の流れを解説したものはあまり多くはなかったもよう。せっかくですのでスタンダードな暗号化/複合化についてまとめてみたいと思います。 暗号化が好きだ! - Favorites! けっこう情報が少ないので、順を追って調べていきます。 PHPの可逆暗号化関数について - 教えて!goo とりあえず、mcrypt 系を使うのがよさそうだ、というヒントが得られました。 PHP: mcrypt_generic - Manual まずは上から mcrypt_cbc がいいかな?と
extension=xdebug.so xdebug.profiler_enable = 1 xdebug.profiler_output_dir = /tmp と設定して、apacheのリロードを行えばXdebugが動作します。 これで、あとは、ブラウザで調査したいページにアクセスすれば、 /tmp/ 以下にプロファイルデータが作成されていきます。 次にプロファイルデータの閲覧の為に、 http://sourceforge.net/projects/wincachegrind/からWinCacheGrindをダウンロードしてwindowsマシンにインストールします。 あとは、WinCacheGrindで作成されたファイルを取り込めば、関数ごとの 実行時間をたどりながら確認することができます。 ※WordPress2.7.1日本語版インストール直後のTOPページで試してみた場合です。 We
Woork: 20 Great PHP frameworks for developers あなたが知らなかったかもしれないPHPフレームワーク。 大体は知っていると思っていたのですが、知らなかったフレームワークが色々とあるみたいです。 CodeIgniter Qcodo Akelos Maintainable evoCore Stratos Seagull Zoop php.MVC PHOCOA Kohara Limb Solar 全部知っていたらかなりのフレームワーク通かも 関連エントリ PHPフレームワークのベンチマーク比較 10個のPHPフレームワーク比較記事 ライトウェイトなPHP用MVCフレームワーク「adroit」
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く