ヘアサロン店長の独り言♂

美容、ヘアスタイルについてや、PC・クルマなど・・・イロイロと 気になる事を載せていこうと思ってます。モバイルコンテンツ

タグリスト: Blogger で分類表示(11-16ページ)

2008-06-14 (16/22page)

人気ヘアケアブログランキング BLOGGER phpでページ内容取り出し

ヘアケア通販のページと美容室のページの更新案内をブログ形式に改めました。

当店の peaks-jp.com のサブドメインを使わず

BLOGGER phpでページ内容取り出しhttp://peaksclub.blogspot.com/
ピークスクラブ 更新情報




BLOGGER phpでページ内容取り出しhttp://atelierhairpeaks.blogspot.com/
アトリエヘアピークス 更新情報




BLOGGER phpでページ内容取り出しと、BLOGGERで用意されているblogspotのサブドメインを使いました。
SEO的にも外部リンクの方がいいのかな?という姑息な手段です・・・
これらのページから左画像のような最新の更新案内をphpでの取り出し方です。




<?php
$c=1;
$context = stream_context_create(array('http' => array(
'method' => 'GET',
'header' => 'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)',
)));
$url = "http://peaksclub.blogspot.com/";#取り出すBLOG
#$data = file_get_contents($url, false, $context); #ブラウザの指定などする場合はこんな感じ
$data = file_get_contents($url);

preg_match_all("/(<([h2|p]+)[^>]*>)(.*)(<\/\\2>)/", $data, $matches);#該当タグだけ取り出し
for ($i=0; $i< count($matches[0]); $i++) {
if($c>6){break;}#5件だけ取り出し
if(strstr ($matches[0][$i], 'date-header')){list($year, $month, $day) = split("/", $matches[3][$i]);$Date = sprintf("%04d年%02d月%02d日", $year, $month, $day);echo "<dt>" . $Date . "</dt>\n";}#class属性のdate-headerを取り出し日付の書式変更
if(strstr ($matches[0][$i], '<p>')){ echo "<dd>" . $matches[3][$i] . " </dd>\n";$c++;}
}#本文取り出し
?>



上のスクリプトはプログのページソースを見て取り出したいタグ内で括られていることが大事で改行されていると取り出せない単純な使用で
ウイジットテンプレートの<data:post.body/>が下記のように<p>で括る必要があり
<p><data:post.body/></p>。

又、日付の書式がyyyy/mm/ddのようにスラッシユできられている場合に書式も変更されて修正無く使えます。(スクリプトはutf8で製作)
一言どうぞ

2008-05-30 (15/22page)

人気ヘアケアブログランキング あし@にやられた 広告挿入位置

あし@にやられた 広告挿入位置
今日、ブログをみたら、あし@の新しい広告?がフラッシュで入っていたけど、
真ん中(左のキャプチャ画像)に・・・邪魔やって・・・・

他の方のブログはちゃんと端の方に表示されているのに・・・
とりあえず対策として、あし@のバナーをフレーム内で表示していたのを、プログ内のテンプレートに戻してみたが、効果なしで、もうちょっと考えよう・・・

で、<script type="text/Javascript" src="http://ashia.to/client/js.php?id=40151&enc=utf"></script>
ってあし@のプログラムを呼び出す位置にフラッシュが挿入されているのがわかったのでBLOGGERのテンプレートで位置を変えてとりあえず完了しました。
あせった・・^_^;
一言どうぞ

2008-05-25 (14/22page)

人気ヘアケアブログランキング BLOGEERクラシックテンプレート 最近の投稿の内容表示

bloggerのクラシックテンプレートでは下記のように最近の投稿を10件表示するようになっているが、(クリボウの Blogger Tips: 「最近の投稿」リストあれこれが大変参考になります。)

<h2 class="sidebar-title">Previous</h2>
<ul id="recently">
<BloggerPreviousItems>
<li><a href="<$BlogItemPermalinkURL$>"><$BlogPreviousItemTitle$></a></li>
</BloggerPreviousItems>
</ul>

これを最近のコメントを表示するBLOGGER クラシックテンプレート直近コメントの取り出し見たいな感じでjavascriptを使い、最近の投稿リストからタイトルと本文の一部を取り出すスクリプト。


<div id="newentry"></div>
<script type="text/javascript"><!--
function newentry(obj) {
var data = obj;
var InsertHTML = ('<h2 class="sidebar-title">最近のエントリー10件<\/h2>');
InsertHTML += '<ul>';
for (var i=0; i<data.feed.entry.length; i++) {
InsertHTML+= ('<li>');
InsertHTML+= ('<a href="'+data.feed.entry[i].link[0].href+'"><b>');
InsertHTML+= (data.feed.entry[i].title.$t.substring(0,28));
InsertHTML+= ('<\/b><\/a><br \/>');
InsertHTML+= ('['+data.feed.entry[i].published.$t.substring(2,10)+']');
InsertHTML+= (data.feed.entry[i].summary.$t.substring(0,39));if (data.feed.entry[i].summary.$t.length > 39) {InsertHTML+= ('...');}//切り取り文字数を40以上にするとie7で止まります。
InsertHTML+= ('<\/li>');
}
InsertHTML += '<\/ul>';
document.getElementById('newentry').innerHTML = InsertHTML;
}
--></script>
<script src="http://www.blogger.com/feeds/自分のblogid/posts/summary?alt=json-in-script&callback=newentry&start-index=1&max-results=10" type="text/javascript"></script>

とまぁいつまでたってもテンプレートの修正ばかりしているのは、ただ単にサブドメインの使えるサーバーを借りていて、サブドメイン blog.peaks-jp.com で運用したいためだけですけど・・・後は、バックリンク関係の見直しと、前のページ、後ろページのリンクの製作と、タグリストでのページ表示時にタグ名を表示するっていうのを作ってみようと思ってます。
一言どうぞ

2008-05-25 (13/22page)

人気ヘアケアブログランキング BLOGEERクラシックテンプレート 最近のコメント取り出し2

BLOGGER クラシックテンプレート直近コメントの取り出し
<script type="text/javascript" src="http://www.blogger.com/feeds/8216413096516145501/comments/summary
?alt=json-in-script&callback=commentcallback&max-results=5"></script>
でjson形式でデータを呼び出しているが、

data.feed.entry[i].link[0].href の値が
http://blog.peaks-jp.com/2008/02/javascript.html
?showComment=1211451300000#c4957769072170915326
となるので、赤字の部分は必要無いので(多分?)
下記の赤字のように修正して削除しました。これで多少すっきりしたかな・・・

<div id="commentcallback"></div>
<script type="text/javascript"><!--
function commentcallback(obj) {
var data = obj;
var InsertHTML = '<h2 class="sidebar-title">直近のコメント5件<\/h2>';
InsertHTML += '<ul>';
for (var i=0; i<data.feed.entry.length; i++) {
var anchor=data.feed.entry[i].link[0].href.replace(/(\?[\w]+\=[0-9]+)/, "");
InsertHTML+= ('<li><a href="'+anchor+'">');
InsertHTML+= (data.feed.entry[i].summary.$t.substring(0,24));if (data.feed.entry[i].summary.$t.length > 24) {InsertHTML+= ('...');}
InsertHTML+= ('<\/a><br \/>');
InsertHTML+= ('['+data.feed.entry[i].published.$t.substring(2,10)+']');
InsertHTML+= (' by '+data.feed.entry[i].author[0].name.$t);
InsertHTML+= ('<\/li>');
}
InsertHTML += '<\/ul>';
document.getElementById('commentcallback').innerHTML = InsertHTML;
}
--></script>
<script type="text/javascript" src="http://www.blogger.com/feeds/8216413096516145501/comments/summary?alt=json-in-script&callback=commentcallback&max-results=5"></script>
一言どうぞ

2008-05-23 (12/22page)

人気ヘアケアブログランキング BLOGEERクラシックテンプレート リンクを製作

BLOGEEのテンプレートネタで又ひとつ。
投稿者の表示がposted by 投稿者 at 時間 となるあたりのpost-footerの改良
個別エントリー(BLOGGERではitem)毎のリンクの表示とリンクのアンカー製作を下記のようにするとつくれます。
blogID=8216413096516145501はもちろん自分のIDで・・・



<p class="post-footer"><em>posted by <$BlogItemAuthorNickname$></em>
<MainOrArchivePage><BlogItemCommentsEnabled><BlogItemBacklinksEnabled>
<script type="text/Javascript"><!--
if(<$BlogItemCommentCount$> == 0){document.write("<a class=\"comment-link\" href=<$BlogItemCommentCreate$> onclick=\"window.open('http://www.blogger.com/comment.g?blogID=8216413096516145501&postID=<$BlogItemNumber$>&isPopup=true','bloggerPopup','toolbar=0,scrollbars=1,location=0,statusbar=1,menubar=0,resizable=1,width=400,height=450');return false;\"> 一言どうぞ <\/a>");}else{document.write("<a href=javascript:togglecomments('c<$BlogItemNumber$>')><font style='color:red'><$BlogItemCommentCount$> 件のコメントを読む<\/font><\/a>");}
//--></script>
<noscript><a class="comment-link" href="http://www.blogger.com/comment.g?blogID=8216413096516145501&postID=<$BlogItemNumber$>&isPopup=true"><span style="text-transform:lowercase"><$BlogItemCommentCount$> 件のコメント</span></a></noscript>
</BlogItemBacklinksEnabled></BlogItemCommentsEnabled></MainOrArchivePage>

<span class="item-action"><a href="http://www.blogger.com/email-post.g?blogID=8216413096516145501&postID=<$BlogItemNumber$>" title="メール投稿"><img class="icon-action" alt="" src="http://www.blogger.com:80/img/icon18_email.gif"/></a></span><span class="item-control blog-admin pid-860749625"><a style="border:none;" href="http://www.blogger.com/post-edit.g?blogID=8216413096516145501&postID=<$BlogItemNumber$>" title="投稿を編集"><img class="icon-action" alt="" src="http://www.blogger.com:80/img/icon18_edit_allbkg.gif" /> </a></span><br />
<em>このエントリーのURL</em><a href="<$BlogItemPermalinkUrl$>" title="permanent link"><$BlogItemPermalinkUrl$></a>
<script type="text/Javascript"><!--
document.write(" [<a class=\"comment-link\" href=\"javascript:BlogThis('" + escape('<$BlogItemPermalinkUrl$>')+"','" + escape('<$BlogItemTitle$>') + "');\" id=\"b-backlink\">リンクを作成<\/a> ]");
//--></script>
</p>


<head>~</head>の間にjavascriptを下記のように書き込んで

<script type="text/Javascript"><!--
function BlogThis(PermalinkUrl,ItemTitle) {
Q=''; x=document; y=window;if(x.selection) {Q=x.selection.createRange().text;} else if (y.getSelection) {Q=y.getSelection();} else if (x.getSelection) {Q=x.getSelection();}
popw = y.open('http://www.blogger.com/blog-this.g?t=' + escape(Q) + '&u=' + PermalinkUrl + '&n=' + ItemTitle,'bloggerForm','scrollbars=no,width=475,height=300,top=175,left=75,status=yes,resizable=yes');void(0);}
//--></script>
一言どうぞ

2008-05-16 (11/22page)

人気ヘアケアブログランキング BLOGGER タグリスト(クラシックテンプレート)

BLOGGERでFTP公開サイト用のタググラウンドのつづき。
以前BLOGGER FTP公開サイトのラベルでの分類方法に書いたが、
今回はタグの項目数も取り出してみた。


<?php
$dir = 'サーバーのlavelsのパス';#ラベルのパス
$url = 'http://blog.peaks-jp.com/labels/';
$labellist ="<h2 class='sidebar-title'>".mb_convert_encoding("ラベルリスト", "EUC-JP", "sjis")."</h2><ul class='archive-list'>";

if($handle = opendir($dir)) { #ディレクトリハンドルを獲得
while(false !== $file = readdir($handle)){ #ファイル名獲得
list($filename,$html) = split("\.", $file); #ファイル名と拡張子を分割
if(!$filename){continue;}
$filename = str_replace("__", "/", $filename); #ファイル名にするためbase64で/が__に変更されているのを戻す
$labellist .="<li><a href='$url$file'>";
if (preg_match("/=([A-F0-9]{2})/",$filename)) {
# $labellist .= quoted_printable_decode ($filename); #quoted_printable_decodeでローマ字+日本語に変換
$labellist .= mb_convert_encoding(quoted_printable_decode ($filename), "EUC-JP", "UTF-8") ;#BLOGで設定しているcharsetに合わす場合
}elseif(mb_detect_encoding(base64_decode($filename)) == "UTF-8"){
# $labellist .= base64_decode($filename) ; #encodingがUTF-8ならbase64_decodeで日本語変換
$labellist .= mb_convert_encoding(base64_decode($filename), "EUC-JP", "UTF-8") ; #BLOGで設定しているcharsetに合わす場合
}else{
$labellist .= $filename ; #ローマ字のファイル名はそのまま表示
}
$labelhtml = file_get_contents("$dir$file");
if (preg_match_all( "/<h3 class=\"post-title\">(.*)<\/h3>/i",$labelhtml,$titlename)){
$labellist .="(".count($titlename[0]).")<br />";
# foreach( $titlename[1] as $val2){$labellist .="$val2<br />";}
}
$labellist.="</a></li>";
}
}
closedir($handle); #ディレクトリハンドルを閉じる
$labellist .="</ul>";
header ("Content-Type: text/html; charset=EUC-JP");#javascriptとしてEUC-JPで表示する(環境に合わす必要があります)
echo "document.write(\"";
echo $labellist;
echo "\");";
?>

という感じで変数に代入しjavascriptで書き出します。

Labelグループのフォルダにあるファイルを1件ずつ取り出しファイルを読み込んで
テンプレートで使われる<h3 class=\"post-title\">(.*)<\/h3>を探して件数を数えています。
$dir = 'サーバーのlavelsのパス' の指定をアーカイブに変えたらアーカイブも取り出せます。
$titlename[1]にすると、タイトルだけの取り出しもできますよ
一言どうぞ
VISAカード

楽天カード