テキスト内に含まれるURLに自動でリンクを張る、
そんなときはこんな感じ。
$x = ereg_replace("(https?|ftp)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)", "<a href=\"\\1\\2\" >\\1\\2</a>"\,$x);
[訂正][php]simplexml_load_fileでうまくパース出来ない、なんて事はない。& 正解とお手軽方法
ソーシャルブックマークに追加:
間違えた。
---------------------------------------------------------------------------------------
$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も潰れちゃいますね。。
[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をリンクに変換する!
ソーシャルブックマークに追加:
[php]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」
商品はちょこちょこ追加していきます。
よろしく。