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");

特定の文字列を置換

$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字扱いになる