忍者ブログ
ThIs SiTe Is A TyPo AnD A BuG.

[PR]

ソーシャルブックマークに追加:ブックマークに追加する
Category :
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

[訂正][php]simplexml_load_fileでうまくパース出来ない、なんて事はない。& 正解とお手軽方法

ソーシャルブックマークに追加:ブックマークに追加する
Category :

間違えた。
---------------------------------------------------------------------------------------
$string = preg_replace('/:/','_',file_get_contents(XMLのURL));
$xml = simplexml_load_string($string);

---------------------------------------------------------------------------------------
↓↓↓↓↓↓
---------------------------------------------------------------------------------------
$string = preg_replace('/:/','_',file_get_contents(XMLのURL));
$string = preg_replace('/http_\/\//','http://',$string);
$xml = simplexml_load_string($string);
---------------------------------------------------------------------------------------
これが無いと,URLも潰れちゃいますね。。
PR

[php][xmlrpc]忍者ブログに外部から記事を投稿してみる。

ソーシャルブックマークに追加:ブックマークに追加する

忍者ブログはxmlrpcが使えるということなので、
やってみました。

---------------------------------------------------------------------------------------
///////////////////////////////////////////////
//個別設定//
///////////////////////////////////////////////

$user = "ブログのURLからhttp://を消したやつ";//例:stl.blog.shinobi.jp
$host = "ブログのURL";
//例:http://stl.blog.shinobi.jp/
$xmlrpc_passwd = "ユーザ情報の変更の記事投稿用パスワード";
///////////////////////////////////////////////
$xmlrpc_path = "/XMLRPC/";
$port = 80;
///////////////////////////////////////////////

//PearのXMLRPCパッケージを読み込む
require_once("XML/RPC.php");

//XMLRPC文字コードを設定
$GLOBALS['XML_RPC_defencoding'] = "UTF-8";

//XMLRPCクライアントの作成
$Client = new XML_RPC_client( $xmlrpc_path, $host, $port );

//appkey:忍者ブログは空で。
$appkey = new XML_RPC_Value( '', 'string' );

//appkey:忍者ブログは1で。
$blogid = new XML_RPC_Value( 1, 'string');

//ユーザ名作成
$username = new XML_RPC_Value( $user, 'string' );

//パスワード作成
$passwd = new XML_RPC_Value( $xmlrpc_passwd, 'string' );

//コンテンツ作成
$content = new XML_RPC_Value(array(
'title'=> new XML_RPC_Value($t, 'string'),
'description'=> new XML_RPC_Value($d, 'string'),
'dateCreated'=> new XML_RPC_Value(date("Ymd\TH:i:s",time()), 'dateTime.iso8601')
), 'struct');

//パブリッシュのフラグ作成
$publish = new XML_RPC_Value( 1, 'boolean');

//XML-RPCメソッドのセット
$Message = new XML_RPC_Message(
'metaWeblog.newPost',
array($blogid, $username, $passwd, $content, $publish) );

//メッセージ送信
$res = $Client->send($Message);

//お帰り。
return $res;

---------------------------------------------------------------------------------------

と、こんな感じ。

[php][正規表現]URLをリンクに変換する!

ソーシャルブックマークに追加:ブックマークに追加する
Category :


テキスト内に含まれるURLに自動でリンクを張る、
そんなときはこんな感じ。

$x = ereg_replace("(https?|ftp)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)", "<a href=\"\\1\\2\" >\\1\\2</a>"\,$x);

[php]simplexml_load_fileでうまくパース出来ない、なんて事はない。& 正解とお手軽方法

ソーシャルブックマークに追加:ブックマークに追加する
Category :
php5にはsimplexml_load_file()なんて便利な関数があるけど、、
Magpie RSS - PHP RSS Parser-を使ってた人からすると若干の癖がある。
たとえば、

http://soccersns.jp/rss/diary.xml

これを

$xml=simplexml_load_file('
http://soccersns.jp/rss/diary.xml');

こんな感じで取得すると、

<title>
<link>
<description>


はパースできるけど

<dc:format>
<dc:date>
<dc:source>
<dc:creator>


は$xmlには含まれていない。
で、
simplexml_load_fileは不完全だと騒ぐ。
で、
これをちゃんと取得するには、、
XMLでの:'コロン'は名前空間を表すので、
$dc=$xml->item[0]->children(名前空間定義のURL);
って感じで指定しなければいけない、
(ちなみに名前空間の定義はXMLのヘッダにxmlns:dc=http://purl.org/dc/elements/1.1/こんな感じで書いてある。)

$dc=$xml->item[0]->children('http://purl.org/dc/elements/1.1/');
echo $dc->format;
echo $dc->date;
echo $dc->source;
echo $dc->creater;

とこんな感じで取得するのが正解なのです。

が、

こんなのめんどくせぇから、
こうする↓

-----------------------------------------------------------------------------------
 $string = preg_replace('/:/','_',file_get_contents(XMLのURL));
 $xml = simplexml_load_string($string);

-----------------------------------------------------------------------------------

ようは名前空間を表す、:'コロン'を違う文字に変えてから
simplexml_load_stringでパース。
ようはパースできればいいわけだから。



Tシャツ屋はじめました。

ソーシャルブックマークに追加:ブックマークに追加する

ドロップシッピングの恩恵に預かり、
Tシャツ屋をはじめました。

TeeShirtsCITY
tshirtscity.JPG













商品はちょこちょこ追加していきます。
よろしく。

MA3楽天賞受賞
ありがとうございます。mash up award 3rdでカラフル.jpが楽天賞を頂きました。
PR
最新トラックバック
最新コメント
[12/12 poefoffirmvop]
[12/12 Beencerek]
[12/12 ecnaccounts]
[12/11 Kimineami]
[12/11 Kimineami]
カレンダー
03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
あわせて読みたい
あわせて読みたい
なかのひと
なかのひと
ブログ内検索
ログール
TrackWord
アクセス解析
このページのQRコード
Copyright © .☆★ ステレオタイプラボ ★☆. 。All Rights Reserved.
忍者ブログ[PR]