忍者ブログ

Wordpressメモとかアフィめもとか

Wordpress,PHP,アフィリエイトとかの個人メモを記録していくよ

[PR]

×

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

perl前後の空白文字を削除する(全角スペース含む)

前後の空白文字(全角スペース含)を削除する
 
# $str の先頭の空白文字(全角スペース含)を削除する
$str =~ s/^(?:\s|$Zspace)+//o; # $str が EUC-JP の場合
$str =~ s/^(?:\s|$Zspace_sjis)+//o; # $str が SJIS の場合
 
# $str の末尾の空白文字(全角スペース含)を削除する
$str =~ s/^($character*?)(?:\s|$Zspace)+$/$1/o; # $str が EUC-JP の場合
$str =~ s/$eucpre(?:\s|$Zspace)+$//o; # $str が EUC-JP の場合(perl5.005以降)

# 半角スペース
$space = '\x20';
 
# 全角スペース
$Zspace = '(?:\xA1\xA1)'; # EUC-JP
$Zspace_sjis = '(?:\x81\x40)'; # SJIS
 

拍手[1回]

PR

perl 数字を3桁のカンマ区切り(正規表現)

数値を金額表示用に3桁ごとにカンマで区切りたいときに。
[perl]Perlで数字を3桁ごとにカンマ区切り

sub commify {
  my $text = reverse $_[0];
  $text =~ s/(\d\d\d)(?=\d)(?!\d\.)/$1,/g;
  return scalar reverse $text;
}

 



拍手[0回]

wordpress 端末種別で判断するUser-agent(UA)

実際にはブラウザのUser-agentだけど。。。

Wordpress3.4以降ならばwp_is_mobile()と言う関数があるのでそれを使うだけ。

↓こちらから引用させてもらいました。
【WordPress】User-agentを判定してモバイル用コンテンツを切り分け、検証する方法

if ( wp_is_mobile() ) {
  echo 'mobile!';
} else {
  echo 'not mobile!';
}

ただこの関数はipadをモバイルと判定するので、それを避けたい場合はUser-agentで自力で判定する関数をfunction.phpなりに追加する。

UAのサンプル
●iPhone
Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9A334 Safari/7534.48.3
●iPod Touch
Mozilla/5.0 (iPod; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3
●iPad
Mozilla/5.0 (iPad; CPU OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3
●Android
Mozilla/5.0 (Linux; U; Android 4.0.1; ja-jp; Galaxy Nexus Build/ITL41D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
●Internet Explorer
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0)
●Google Chrome
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75 Safari/535.7
判定サンプル

function is_mobile(){

    $useragents = array(
        'iPhone', // iPhone
        'iPod', // iPod touch
        'Android', // 1.5+ Android
        'dream', // Pre 1.5 Android
        'CUPCAKE', // 1.5+ Android
        'blackberry9500', // Storm
        'blackberry9530', // Storm
        'blackberry9520', // Storm v2
        'blackberry9550', // Storm v2
        'blackberry9800', // Torch
        'webOS', // Palm Pre Experimental
        'incognito', // Other iPhone browser
        'webmate' // Other iPhone browser
    );
    $pattern = '/'.implode('|', $useragents).'/i';
    return preg_match($pattern, $_SERVER['HTTP_USER_AGENT']);
}

拍手[0回]

jqueryでページ内にタブ切り替え

ページ内にタブがあってタブを押すと、テキストエリアの内容が変わるっていうよくあるあれ。

こちらのページが非常に参考になりました。(下記スクリプト部分等は引用させてもらいました。)
jQuery事始めvol.3・プラグインに頼らず自分でクリックで切り替わるタブメニューを作ってみる
 


タブ1 タブ2 タブ3

タブ1の内容


タブ2を選ぶと内容が変わるやつ。

コード部分(表示させたいページのhead内に書くか、jsファイルとして呼び出す)
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript" charset="UTF-8"></script>
<script type="text/javascript">

	
$(document).ready(function() {
 $('.area:first').show();
 $('.tab li:first').addClass('active');
 $('.tab li').click(function() {
   $('.tab li').removeClass('active');
   $(this).addClass('active');
   $('.area').hide(); $($(this).find('a').attr('href')).fadeIn(); return false;
 }); 
});</script>

css部分(上と同じ)
.tab, .tab li, .tab li a {/*クリックするタブ部分*/
    float: left;
    padding:3px;
    margin-right:2px;
}

.content {/*切り替わる部分を囲うボックス*/
    clear: both;
    overflow: hidden;
    width: 300px;
    border:1px solid #eee;
    height:300px;
}
.area {/*切り替わる部分はまず全部消しておく*/
    display: none;
}
.tab li.active {/*選択中のタブ。色を変える等*/
    background: #eee;
}

.tab li.active a{/*選択中のタブのリンクカラー*/
    color:red;
}
html部分
<!--ここがタブ-->
<ul class="tab">
    <li><a href="#tab1">tab1</a></li>
    <li><a href="#tab2">tab2</a></li>
    <li><a href="#tab3">tab3</a></li>
    <li><a href="#tab4">tab4</a></li>
</ul>
<!--ここが切り替わる部分-->
<div class="content">
    <div class="area" id="tab1">
        Tab1
    </div>
    <div class="area" id="tab2">
       Tab2
    </div>
    <div class="area" id="tab3">
        Tab3
    </div>
    <div class="area" id="tab4">
        Tab4
    </div>
</div>

 

 

拍手[2回]

perl の die

die関数はエラーが発生した値を標準出力に出力し実行しているperlスクリプトを終了させる。
1番目の引数にはエラーとして出力するリストを指定する。
エラー出力後に$!の内容をステータスコードとしてexit関数を呼び出して終了する。

die("err mssage")

引数が上のように改行で終わらない場合、行番号も出力される。

引数の中に$!を入れておくとシステムに対する要求のエラーのときはメッセージも一緒に出る。

open(INFILE, $infile) or die "Error Can't open $infile $!";
$ test.pl
Can't open infile.txt No such file or directory



拍手[0回]

ブログ内検索

最新コメント

広告

プロフィール

なんとなくはじめてみたよ

忍者ツールズプロフィールは終了しました

カウンター