制御文字は\0x00~\0x1fのコードを持つ特殊な文字列。色々と悪さをすることがある。 $data = preg_replace('/[\x00-\x1f\x7f]/', '', $data); このような正規表現で取り除くことが出来ます。
制御文字は\0x00~\0x1fのコードを持つ特殊な文字列。色々と悪さをすることがある。 $data = preg_replace('/[\x00-\x1f\x7f]/', '', $data); このような正規表現で取り除くことが出来ます。
backtickさんのコードをみて初めて知ったけど、PHPの変数展開(ダブルクォテーション中の波括弧、文字列中の置換とかなんとか)は意外と複雑。 $hoge = 'fuga'; echo "$hoge" ; #fuga が出力される echo "${hoge}"; #fuga が出力される echo "${'hoge'}"; #fuga が出力される・・・ echo "${"hoge"}"; #fuga が出力される(parse errorじゃないのか!) ついでに関数も展開できるらしい $f = 'str_repeat'; echo "{$f('abc ',3)}"; #abc abc abc が出力される echo "{$f('abc ', 1 + strlen("aa"))}"; #abc abc abc が出力される どうやら関数の引数はワンライナー書き放題っぽい。しかし、単にダブ
なぜか基本的な関数がスカスカしているような気のするPHP こんな関数があったらいいのに => きっとあるだろう => リファレンス漁っても無い orz ということが日常茶飯事な感じのするPHP。よその言語では、そんな事はないんでしょうか。 それでも、人口数だけは抜群なPHPだけあって、それらしいキーワードでGoogle先生に訊けば、それっぽい関数が見つかってしまうのもPHPの良いところ。(コピペコードの培養土が肥沃すぎるとも言う) 今回はそんな関数コレクションを引用・参考元と共にペタペタするメモエントリー。 大半の関数には、引用・参考元があるので、それらの関数にはURLを付記しています。 配列操作系 PHPと言えば配列。配列と言えばPHP。それは無いか。配列については、滅多に不便することはなく、最初から充実してるとは思いますけれど痒いところ用。 /** * array_clean * ht
phpmaster | Server-Side HTML Handling Using phpQuery PHPでのスクレイピングやDOM操作をjQueryっぽく超簡単便利にできる「phpQuery」。 紹介記事を読んで使ってみました。 phpQuery はjQueryのPHP版でDOMの操作をjQueryっぽくできるライブラリです。 HTMLのスクレイピングはもちろん、HTMLを追加したり要素に属性を追加等のDOMを操作も簡単に行えます。 jQueryの便利さがPHP上でも十分に使えますので知っておくと確実に面倒な処理を楽に書けるようになるでしょう。 スクレイピング HTMLのスクレイピングをする場合には超簡単かつ、jQueryを使ったことがある方なら抵抗なくすぐに習得できます。 ちょっとコードを書いて実験してみました。 と書くと <div id="two"></div>の中身である t
PHP Magic Function : glob() | PHP Code Base PHPでバッチ処理する際に便利なglob使いこなしテクニック。 globl("*.gif"); 等とすることで、同じディレクトリにある gif 拡張子のファイルを配列で受け取るなんていう便利な関数がありますが、その glob をもっと使いこなすテクニックが紹介されていましたのでご紹介。 階層的なファイルを探索 glob('pear/*/DB/*') のようにして、階層的にファイルを探索することが出来る 第二引数を活用 第二引数は個人的に使ったことなかったのですが、これはかなり便利そう glob("*.gif", 第二引数); GLOB_MARK: 返ってきたディレクトリの最後に / を付ける GLOB_NOSORT: ソートを行わない GLOB_NOCHECK: 検索パターンにマッチするファイルが見つか
9 Useful PHP Functions and Features You Need to Know | Nettuts 知っとくと便利なPHPのテクニック9つが掲載されていました。 初心者の方は勿論、PHPを長年使ってる人にも使えるテクニックが載っていましたので勉強がてらにメモ。 func_get_args() 関数で可変引数 を受け取る 通常、関数といえば、次のように引数と共に定義します。 function hoge($arg1, $arg2) { } のように定義して引数を受け取りますが、好きな個数で引数を受け取りたい場合は、次のようにfunc_get_argsで受け取れます。 function hoge() { $args = func_get_args(); foreach ($args as $key=>$value) { echo "arg{$key} is $value
PHPでprint_rやvar_dumpよりリッチな折りたたみ出来る変数出力が出来る「kint」 2011年01月27日- kint - Project Hosting on Google Code PHPでprint_rやvar_dumpよりリッチな折りたたみ出来る変数出力が出来る「kint」。 ライブラリを読み込むと、d($var) 関数や、Kint::dump($var) メソッドが使えるようになります。 同様のライブラリは過去にありましたが、かなりリッチに表示してくれ、折りたたみも可能なので複雑な連想配列でも見やすくなります。 デモページ printデバッグな方は入れておくと便利かもしれません 関連エントリ print_rをより分かりやすくするprint_a PHPのprint_rを更に分かりやすく視覚的に表示する方法
Browser.php ? Detecting a user’s browser from PHP | Chris Schuld's Blog 利用者のブラウザ・OS・バージョンを取得できるクラスライブラリ「Browser.php」。 $obj = new Browser(); のようにして、$obj->getBrowser() メソッドでブラウザが取得できてしまう便利ライブラリのご紹介です。 検索ボットやAndroid、iPhoneなんかにも対応しているようです。 その他、OSの判別なんかも細かくやってくれるみたいなので便利そう。 関連エントリ PHPで使えるブラウザ等プラットフォーム検出用クラス
phpのserializeを使うより高速でサイズもコンパクトに仕上げる「MessagePack」とPHP拡張 2010年12月15日- The MessagePack Project phpのserializeを使うより高速でサイズもコンパクトに仕上げる「MessagePack」とPHP拡張。 結構前のエントリのご紹介なので知っている人も多いと思うのですがご紹介。 phpには serialize という関数があって、配列等の複雑なデータも文字列にして、ファイル等に保存し、後ほど unserialize 等で変数に戻せて便利なのですが、MessagePackとそのPHP拡張を使えば、より高速で、serialize後のデータも小さくできます。 MessagePack自体はkumofsの内部で使われていて、PHP以外にもc++, erlang, haskell, java, perl, pyth
Edit images directly in your CMS. Now as a plugin for Joomla 1.5. - Picture Editor, GD, PHP, Open Source, GPL WEB上で画像のリサイズ/回転/切抜き等が可能になるPHPのオープンソース「PHP Image Editor」が公開されています。 そのまま使ってもいいですし、CMSなんかの組み込み用に使ってもよさそう。Joomlaのプラグイン形式でも公開されています。 指定サイズにそのままリサイズする機能 左右に90度回転する機能 範囲を選択して切り抜く機能 明るさとコントラストを調節する機能 デモを使ってみると結構便利でしたので試してみましょう。 関連エントリ オープンソースの便利PHPスクリプトまとめサイト「Open Source PHP」 オープンソースGoogleAnalytic
補足 この記事は旧徳丸浩の日記からの転載です(元URL、アーカイブ、はてなブックマーク1、はてなブックマーク2)。 備忘のため転載いたしますが、この記事は2010年9月27日に公開されたもので、当時の徳丸の考えを示すものを、基本的に内容を変更せずにそのまま転載するものです。 補足終わり PHPカンファレンス2010にて「文字コードに起因する脆弱性とその対策」というタイトルで喋らせていただきました。プレゼンテーション資料をPDF形式とslideshare.netで公開しています。 文字コードのセキュリティというと、ややこしいイメージが強くて、スピーカーの前夜祭でも「聴衆の半分は置いてきぼりになるかもね」みたいな話をしていたのですが、意外にも「分かりやすかった」等の好意的な反応をtwitter等でいただき、驚くと共に喜んでいます。土曜にPHPカンファレンスに来られるような方は意識が高いというの
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
Image Resizing Made Easy with PHP | Nettuts 画像のリサイズに便利なPHPクラスライブラリがNettutsにて公開されています。 サイトで画像をリサイズというのは、画像処理では最もよく行うことではないでしょうか?それを簡単に行える1つの選択肢として覚えておくとよいかも。 ソースをダウンロードすると、resize-class.php というライブラリが含まれており、リサイズが簡単に出来る模様。 クラスなので使うのはとても簡単で次のようにするだけです。 resize というクラスが定義されており、resizeImageメソッドでリサイズ、saveImageで保存という具合です。 クラス名がちょっと一般すぎてかぶる問題が出てきそうだったり、メソッド名が若干スマートではないかもしれませんが、楽にリサイズできることに代わりはないですね。 比較的大きなプログラ
PHPでベクターグラフィックスを作成するためのチュートリアルが公開されてます。 svgというとxmlベースのテキストデータですが、これをPHPから出力する方法です。 チュートリアルといえど、便利なライブラリを使うので実際にはそのライブラリの使い方をマスターすれば誰でも簡単に使える内容になってます。 対応ブラウザであれば次のようなグラフが描画できるので便利です。 出力されたsvgのデータの内容。ライブラリを使ってこれが出力できるので、形式について覚える必要はありません。 線グラフの他、円グラフなども描画できます。 JSやFlashなど、様々なライブラリが存在しますが、SVGでの描画の方法も知っておくといつか役立つ時がくるかもしれませんね。
タイトルは出来れば関連する方に読んで欲しかったので、軽く釣り針にしました。すみません。:*) 最近はやりのヒウィッヒヒー(Twitter)でも、よく「○○ったー」みたいなサービスがばんばん登場してますね! おかげでますますツイッターが面白い感じになってて、いい流れですね! でも・・・ちょっと気になることが・・・ 最近「もうプログラマには頼らない!簡単プログラミング!」だとか・・・ 「PHPで誰でも簡単Webサービス作成!」だとか・・・ はてなブックマークのホッテントリで見かけますよね・・・ プログラミングする人が増えるのは素敵です!レッツ・プログラミングなう! なんですけど・・・ ちゃんとセキュリティのこと考えてますか・・・!? 『セキュリティ対策とか難しいし面倒くせーし、俺の適当に作ったサービスとかどうなってもイイしww』 いいんですいいんです! 別にそう思ってるならどうでもいいんです!
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く