Docomoの個体識別情報iモードID(guid)取得パラメータ『guid=on』をSmartyで付ける
Smartyのポストフィルタ(postfilter)を利用して、出力されるHTMLに『 guid=on 』を付ける方法です。
キャリアごとにテンプレートを分けるのが楽になります。
これをドコモの場合だけ適用するようにします。
『utn』をSmartyで付ける方法
『NULLGWDOCOMO』をSmartyで付ける方法
個体識別情報の取得方法
<?php
/* ================================
* relativeOabsolutePathGuid
* pathAddGuid
*
* @create 2009-01-12
* @author pentan
* @url http://pentan.info/
*
* Copyright (c) 2009 pentan.info All Rights Reserved.
* 著作権表示部分の変更削除は禁止です
* ================================
*/
function relativeOabsolutePathGuid($str,$tag){
$str=stripslashes($str);
if(strtolower($tag)=="a"){
if(preg_match("/href=¥"(https?|ftp):¥/¥//i",$str)){
return $str.">";
}elseif(preg_match("/href=¥"#/i",$str)){
return $str.">";
}elseif(preg_match("/href=¥"(mailto|tel|fax|news):/i",$str)){
return $str.">";
}elseif(preg_match("/href=¥"([^¥"]+)¥"/i",$str,$match)){
if(preg_match("/¥?$/i",$match[1]) || preg_match("/&$/i",$match[1])){
return preg_replace("/href=¥"([^¥"]+)¥"/i",
"href=¥"$1guid=on¥"".">",$str);
}elseif(preg_match("/¥?/i",$match[1])){
return preg_replace("/href=¥"([^¥"]+)¥"/i",
"href=¥"$1&guid=on¥"".">",$str);
}else{
return preg_replace("/href=¥"([^¥"]+)¥"/i",
"href=¥"$1?guid=on¥"".">",$str);
}
}else{
return $str.">";
}
}else{
if(preg_match("/action=¥"(https?|ftp):¥/¥//i",$str)){
return $str.">";
}elseif(preg_match("/action=¥"#/i",$str)){
return $str.">";
}elseif(preg_match("/action=¥"(mailto|tel|fax|news):/i",$str)){
return $str.">";
}elseif(preg_match("/action=¥"([^¥"]+)¥"/i",$str,$match)){
if(preg_match("/¥?$/i",$match[1]) || preg_match("/&$/i",$match[1])){
return preg_replace("/action=¥"([^¥"]+)¥"/i",
"action=¥"$1guid=on¥"".">",$str);
}elseif(preg_match("/¥?/i",$match[1])){
return preg_replace("/action=¥"([^¥"]+)¥"/i",
"action=¥"$1&guid=on¥"".">",$str);
}else{
return preg_replace("/action=¥"([^¥"]+)¥"/i",
"action=¥"$1?guid=on¥"".">",$str);
}
}else{
return $str.">";
}
}
}
function pathAddGuid($body){
return preg_replace("/<(a|form) ([^>]+)>/ie",
"'<$1 '.relativeOabsolutePathGuid('$2','$1')",$body);
}
$smarty->register_outputfilter("pathAddGuid");
?>
関連記事
- Smarty2をPHP7に対応させる方法(The /e modifier is no longer supported Smarty_Compiler.class.php, line 270)
- Smarty error unrecognized tag 'assign' 組み込み関数が使えない
- 各フィルターの動作するタイミング
- 3桁づつカンマ区切りにする拡張モディファー
- 値が空だったら、 を入れるモディファー
- 携帯表示用に文字を全角から半角にする
- Docomoの個体識別情報取得パラメータ『NULLGWDOCOMO』をSmartyで付ける
- Docomoの個体識別情報取得属性『utn』をSmartyで付ける
- コンパイルファイル(compile)を削除できない
- 読み込まれているテンプレ名を取得
- env , server を読み込む
- クッキーを読み込む
- GET,POSTなどのパラメータを読み出す
- 連想配列でパラメータを渡す方法
- オブジェクトのメンバ変数を読み込む
- 配列を読み込む
- Smarty
スポンサーリンク





