[PHP]SimpleXMLでxmlツリーを作成し、綺麗に整形して出力する
PHPでSimpleXMLを使用してxmlの作成を行います。 プログラム <?php $rootNode = new SimpleXMLElement( "<?xml version=’1.0′ encoding=’SHIFT_JIS’ standalone=’yes’?><items></items>" ); // ノードの追加 $itemNode = $rootNode->addChild(’item’); $itemNode->addChild( ‘itemCo…
続きを読む
[PHP]DOMとSimpleXMLの相互変換
PHPではバージョン5.0以降でSimpleXML拡張モジュールというものが追加されました。 SimpleXMLを使用すると、これまでのDOMオブジェクトに比べてXMLの操作が容易になります。 ですが、古いバージョンを元にしたライブラリではDOMベースのプログラムも少なくありません。 そこで今回はDOMとSimpleXMLの相互変換関数を確認しておきます。 SimpleXML -> DOM SimpleXMLからDOMの変換はdom_import_simplexml関数を使用します。 関数仕様 DOMElement dom_import_simplexml( SimpleXMLElement …
続きを読む
[PHP]twitter APIを使用して、検索した結果を出力する
twitterに書き込まれたツイートを、PHPで検索して出力させるプログラムです。 $keyword = urlencode( ‘キーワード’ ); //——————————– // twitter APIを使用して検索を行う //——————————– $result = file_get_contents( ‘http://search.twitter.com/search.atom?q=’. $keyword ); $xml = new SimpleXMLEl…
続きを読む
[PHP]htmlからxmlに変換する関数群 : html2xml
phpでスクレイピングしたい時、htmlからxmlへの変換方法をいつも調べるので、 備忘録代わりに変換関数を作成しました。 この手の変換は、作るプログラムによって元ネタがurlだったりhtml文字列だったりします。 また変換先もxmlテキストが欲しいときやDOMDocumentが欲しいなど様々です。 という訳で、冗長ですが全パターン用意しました。 変換パターンによっては、中身がPHPの関数1行だけというラッパーになっている場合も有りますが、網羅しておいたほうが一覧性が良いかと思い、あえて用意しています。 変換可能なパターンは以下通りです。 url -> html文字列 url ->…
続きを読む
Apache+PHPで複数フォーマットのデータ生成をスマートに処理する
PHPでwebアプリを作成していると、動的に生成したファイルをダウンロードさせたい場合があります。 ありがちなパターンとしては、DBの内容をcsv形式でダウンロードさせる等です。 このとき、同じデータを複数のフォーマットで返したい場合があります。 例えば、注文No12345のデータを提供したいが、下記のように拡張子で書式が決まるといった状況です。 http://example.com/order/12345.xml http://example.com/order/12345.yaml http://example.com/order/12345.csvhttp://example.com/o…
続きを読む