PHPにおける文字列の処理
文字列、変数の連結
$a = $b.$c;
$a = $b."あいうえお";
$a = "あいうえお{$b}かきくけこ";
特定の文字列が含まれているか検査(特定文字列以降の文字列を返す)
大文字/小文字を区別
strstr($text,"特定文字列")
mb_strstr($text,"特定文字列")
大文字/小文字を区別しない
stristr($text,"特定文字列")
mb_stristr($text,"特定文字列")
実用版
if (mb_stristr($text,$value,FALSE,"utf-8")) {
}
位置を返す
先頭から探す
strpos($text,"特定文字列")
mb_strpos($text,"特定文字列")
末尾から探す(返すのは先頭からの位置)
strrpos($text,"特定文字列")
mb_strrpos($text,"特定文字列")
文字列の長さ
$length = strlen($text); //全角は2字扱い
$length = mb_strlen($text,"SJIS"); //全角は1字扱い
部分文字列を取得
$text = substr($text,0,1);
$text = mb_substr($text,0,1,"SJIS");
// 後方1文字を削除
$text = substr('1234', 0, -1); // 123
特定の文字列を置換
$text = str_replace("置換前","置換語","$text");
$text = mb_ereg_replace("置換前","置換後",$text); //日本語対応
$text = preg_replace('/<id>/',$id,$text); //正規表現対応
大文字/小文字に変換
$text = strtolower($text); //小文字に変換
$text = strtoupper($text); //大文字に変換
$text = ucfirst($text); //頭文字を大文字にする
応用
$text = ucfirst(strtolower($text)); //頭文字のみ大文字に
日本語処理
$text = mb_convert_kana($text,"パラメータ","UTF-8");
パラメータ(複数同時使用可能)
r …「全角」英字を「半角」に変換
R …「半角」英字を「全角」に変換
n …「全角」数字を「半角」に変換
N …「半角」数字を「全角」に変換
a …「全角」英数字を「半角」に変換
A …「半角」英数字を「全角」に変換
s …「全角」スペースを「半角」に変換
S …「半角」スペースを「全角」に変換
k …「全角カタカナ」を「半角カタカナ」に変換
K …「半角カタカナ」を「全角カタカナ」に変換
h …「全角ひらがな」を「半角カタカナ」に変換
H …「半角カタカナ」を「全角ひらがな」に変換
c …「全角カタカナ」を「全角ひらがな」に変換
C …「全角ひらがな」を「全角カタカナ」に変換
V … 濁点付きの文字を一文字に変換。K、Hと共に使用
エンコード
$text = mb_convert_encoding($text,"EUC-JP","SJIS"); //SJISからEUC-JPへ
$text = mb_convert_encoding($text,"UTF-8","SJIS"); //SJISからUTF-8へ
ニュース見出し/本文を省略する
$headline = mb_strimwidth($text,0,10,"more","SJIS");
一定の字数で折り返す
$text = wordwrap($text,90);
※UTF-8は全角文字1字が3字扱いになる