読了: 約 4 分

独断と偏見で自分が良く使うコードをまとめて行こうかなと思います。

目的を選ぶ

・file_get_contents で UA を変更して携帯サイトの内容を取得する方法
file_get_contents で UA を変更して携帯サイトの内容を取得する方法

・smartyでforeachしている箇所のゼブラデザイン
[PHP,Smarty] テーブルのtr背景色を偶数、奇数で交互に切り替える

・PCとiPhoneでUAを切り替える方法
[PHP,Smarty] PCとスマートフォンのUAを切り替える方法

file_get_contents

file_get_contents で UA を変更して携帯サイトの内容を取得する方法

これはご存じの方も多いかと思いますが、
他のページのコンテンツをそのままそっくり持ってくる事が出来ます。

<?php
$content = file_get_contents('http://www.example.com/');
echo $content;
?>

例えばこれでサテライトサイトなどで流用したいだとか、
この広告のsectionを他サイトで流用したいだとかそんな事も可能です。

恐らく他のサイトは著作権で行けないような気がしますが、
どうなのでしょうか。

PHPのマニュアル
PHP Manual

ウェブルさんはWordpressを駆使して、Webサービスを創り、
PHPもご自分で書かれているようで、非常に参考になります。

weble.org

smartyでforeachしている箇所のゼブラデザイン

ソースはたったこれだけ。

{[if $smarty.foreach.bgc.iteration%2 == 1]} bgcolor="#efefef"{[/if]}

この他にもcycleという関数を使っても交互に色を染める事が出来るようです。
[PHP,Smarty] テーブルのtr背景色を偶数、奇数で交互に切り替える

【参考】
IT系エンジニア兼経営者の備忘録


PCとiPhoneでUAを切り替える方法

スマホ最適化する上で重要ですよね。

コードは下記をご参照ください。
PHPでの記述

<?php
$ua=$_SERVER['HTTP_USER_AGENT'];
if((strpos($ua,’iPhone’)!==false)||(strpos($ua,’iPod’)!==false)||(strpos($ua,’Android’)!==false)) {
header(“Location:/sp/index.php”);
exit();
}
?>
&lt;?php if($browser == 'iphone'){ ?&gt;
&lt;link rel="stylesheet" type="text/css" href="./layout/iphone.css"/&gt;
&lt;?php }else{ ?&gt;
&lt;link rel="stylesheet" type="text/css" href="./layout/pc.css" /&gt;
&lt;?php } ?&gt;

下のサイトはPHPとJavaScript、htaccessで切り替える方法が載っているので
おススメです。

時間が出来たら、このサイトもスマホ化していきます。

他分岐の方法

if(preg_match('/iPhone|iPod|iPad|Android/i',$_SERVER['HTTP_USER_AGENT'])){
A
}else{
B
}

追記:2012/02/22
PHPでユーザーエージェントを切り替えて、if文でpc,iphone用のを分岐するというのはやめて
メディアクエリを使って解像度で判断させるようにしました。
メディアクエリの記事も後々書きたいと思います。
※一応スマホ化させましたが、デザインまで作り込んではありません。

引用:
iPhone用にCSS/PHP/JavascriptでCSSを切り替える基本的な方法

ユーザーエージェントによってPCとスマートフォン(iPhone / Android)を振り分ける方法いろいろ(PHP / JavaScript / .htaccess等)

ブログにソースコードを張り付ける

実体参照変換ツール

wpのプラグインであったので万事解決しました。
上記のソースコードで使用しております。

使う度に追記していきます。
今度の追記予定としては、
スマートフォンでUAを切り替える方法等です。

スクロールが長くなった時がPHPをマスターしている時かもしれません(笑)
それではまた。