ITメモ
PHP
PHP マニュアル(PHP Official Web)
Basic Knowlege / 基礎知識
「CentOS」にPHPをインストール方法PHPファイルの作り方外部「クラスファイル」「関数ファイル」を読み込む方法変数の使い方定義済み変数の使い方関数の使い方配列の使い方クラスの使い方ヒアドキュメントの使い方PHPの演算子条件分岐
Access Info / アクセス インフォ
IPアドレスを確認する方法アクセスされたURLパスを確認する方法PCとスマートフォンの判定アクセスしたページから特定ページにリダイレクトさせる方法
ファイル・ディレクトリ
ファイルとディレクトリの操作方法(作成・確認・削除)ディレクトリ内のファイル・ディレクトリPath(URL)を配列に格納する方法
ファイルの読み込みと書き込み
「file_get_contents」関数を使ってファイルを読み込む方法「readfile」関数を使ってファイルを読み込む方法「file」関数を使ってファイルを読み込む方法「fread」関数を使ってファイルを読み込む方法「fgets」関数を使ってファイルを読み込む方法「fwrite」関数を使ってファイルに書き込みをする方法
チェック
「is_file」関数 - 指定パスがファイルかをチェックする方法「is_dir」関数 - 指定パスがディレクトリかをチェックする方法
画像ファイル
画像ファイルのIPTC情報を取得する方法 画像ファイルをZipファイル形式でダウンロードさせる画像をコピーする方法画像のキーワード情報を取得する方法画像ファイルから「EXIF」ヘッダを読み込む画像の大きさ・画像情報を取得する
情報
「PHP」の出力系関数 - プログラミングで必須のデータ内容をチェックする方法関数の返り値を複数で受け取る方法使用可能なメモリ使用量を変更する方法mb_send_mail - エンコード変換を行ってメールを送信する「Google」「Goolge Map]に渡した値が文字化けするときの解決方法PHPで日付比較をする方法
文字列
「文字列」の長さを取得する方法【 substr 】「文字列」から一部分を取り出す方法【 explode 】「文字列」を分割する方法【 preg_split 】正規表現で「文字列」を分割するランダムな数字を取得する方法
文字の検索
「strpos」関数で指定文字の最初の位置を確認する方法「preg_match」関数で指定した「正規表現」で検索する方法
文字の置換
「str_replace」関数で指定した文字列を置き換える方法「preg_replace」関数で指定した文字列を置き換える方法
文字の削除
「trim」関数 - 文字列の両端から指定文字を削除する方法「ltrim」関数 - 文字列の先頭から指定文字を削除する方法「rtrim」関数 - 文字列の末尾から指定文字を削除する方法文字列の中にある「文字」を削除する方法「改行」を削除する方法文字列の「空白(スペース)」を削除する方法
配列
配列に値を追加する方法配列の値を削除する方法配列の有無を確認する方法配列の中から重複した値を削除する配列の空の値を削除する配列の並び順を変えるis_array - 変数が配列かを確認するin_array - 配列の中に指定した値があるか確認するimplode - 値の間に文字加えて配列を文字列に変換するarray_merge - 配列と配列を結合する方法
ライブラリ
「PHP」で使えるライブラリの種類「GD」ライブラリの使い方
Server / サーバー
サーバーの最大実行可能時間を変更する





【PHP】文字列の「空白(スペース)」を削除する方法

【PHP】
文字列の「空白(スペース)」を削除する方法




PHPでは、文字列の前後に空白が挿入されることがある。
文字列前後の空白が、PHPコードの邪魔になることが多い。
そんな時に、文字列前後の空白を削除する方法がある。


文字列の前後にある空白を削除するには、
・trim()
・ltrim()
・rtrim()
・str_replace()
などの関数を使用する。


「trim」系の関数であれば、
引数に文字指定をしなくても、「空白」「タブ」などは削除されるが、
「str_replace」関数は、「空白」などを引数に文字指定しなければ、 削除ができない。



空白を削除できる関数


関数名機能
trim 文字列の先頭と末尾にあるホワイトスペースを取り除く。

削除する文字
・通常の空白
・タブ
・リターン
・改行
・NULL
・垂直タブ


ltrim 文字列の最初から空白文字を取り除く。
指定した文字を取り除くことも可能。

削除する文字
・通常の空白
・タブ
・リターン
・改行
・NULL
・垂直タブ


rtrim 文字列の最後から空白を取り除く。
指定した文字を取り除くことも可能。

削除する文字
・通常の空白
・タブ
・リターン
・改行
・NULL
・垂直タブ


str_replace 文字列の中に、指定した文字列があった場合、指定された文字列に全て置き換えする。
検索する文字と置き換える文字は、文字列や変数・配列でも指定可能。


preg_replace 文字列の中に、指定した文字列があった場合、指定された文字列に全て置き換えする。
検索する文字と置き換える文字は、「文字列」「変数」「配列」「正規表現」などで指定可能。




Back

空白を削除するサンプルコード


基本的に、「trim」「ltrim」「rtrim」の関数の使い方は同じ。
削除したい文字が空白文字列などの場合は、削除したい文字列のオプションは指定しなくても良い。


$格納先変数名 = trim($変数名);
$格納先変数名 = trim($変数名,"削除したい文字");
$格納先変数名 = ltrim($変数名);
$格納先変数名 = ltrim($変数名,"削除したい文字");
$格納先変数名 = rtrim($変数名);
$格納先変数名 = rtrim($変数名,"削除したい文字");
$Sample_trim = trim($SampleText);
$Sample_trim = trim($SampleText, " \t.");
$Sample_trim = trim($SampleText, "smp");
$Sample_trim = trim($SampleText, 'txt');
$Sample_trim = trim($SampleText, "\x00..\x1F");

文字列の範囲指定をするときは「..」を使用することで可能。



$Sample_Str = str_replace(” ”, "", ”既存の文字列”);
$Sample_Str = str_replace( "検索する文字列", "置き換える文字列", $検索対象の文字列変数 );
$Sample_Str = str_replace( $Search, $Replace, $Text );


$Sample_Str = preg_replace(” ”, "", ”既存の文字列”);
$Sample_Str = preg_replace( "検索する文字列", "置き換える文字列", $検索対象の文字列変数 );
$Sample_Str = preg_replace( $Search, $Replace, $Text );


Back





「str_replace」関数で空白を削除する方法


「str_replace」関数は、文字を置き換える事ができる関数ですが、 置き換える文字を「””(空・無指定)」にする事で、 検索した文字を「削除」する事ができる。


文字列を削除する「str_replace」関数のサンプルコード


$変数名 = str_replace(”検索する文字列”, "", ”既存の文字列”);

$変数名 = str_replace($変数名, "", $変数名);
$変数名 = str_replace($配列名, "", $変数名);

//「文字」を削除するコード
$変数名 = str_replace(”文字”, "", ”既存の文字列”);

//「改行」を削除するコード
$変数名 = str_replace(”¥n”, "", ”既存の文字列”);
$SampleText = str_replace("\r\n", '', $SampleText);
$SampleText = str_replace(array("\r\n", "\r", "\n"), '', $SampleText);
$SampleText = str_replace(array("\r", "\n"), '', $SampleText);

//「スペース」を削除するコード
$変数名 = str_replace(” ”, "", ”既存の文字列”);



<?php
$str = 'abcde';
$str = str_replace('ab', '', $str);
echo $str;
?>

//出力結果:cde


「str_replace」関数の基本書式

str_replace(
array|string $search,
array|string $replace,
string|array $subject,
int &$count = null
): string|array

str_replace( ”検索する文字列”, ”置き換える文字列”, ”既存の文字列”, 置換えた回数を変数に格納): 返り値(文字列・配列)


$変数名 = str_replace('検索したい文字列', '置き換える文字列', '検索対象文字列', $空の変数);
$変数名 = str_replace('検索したい文字列', '置き換える文字列', '検索対象文字列', 置換えた回数を変数に格納);
$変数名 = str_replace('検索したい文字列', '置き換える文字列', '検索対象文字列');
$変数名 = str_replace('検索したい文字列', '置き換える文字列', $変数名);


Back

「preg_replace」関数で空白を削除する方法


「preg_replace」関数は、
「正規表現」を使って「検索」「置換」を行う関数。

「空白(スペース)」を削除するには、
「空白(スペース)」を検索し、「置換え文字」の引数には、「空文字("")」を指定することで、
「空白(スペース)」を文字列から削除する事ができる。


「preg_replace」関数で空白を削除する書式

「空白(スペース)」を削除するには、
「検索」パラメータには、「" "」(空白(スペース))を記述し、
「置換」パラメータには、「""」(空文字)を記述する事で、
「空白(スペース)」を文字列から削除する事ができる。


「空白(スペース)」を削除するサンプルコード

$変数名 = preg_replace(” ”, "", ”既存の文字列”);



「改行」を置換えるサンプルコード

$SampleText = preg_replace("\r\n", '', $SampleText);
$SampleText = preg_replace(array("\r\n", "\r", "\n"), '', $SampleText);
$SampleText = preg_replace(array("\r", "\n"), '', $SampleText);



「文字」を置換えるサンプルコード

$string = 'Sample Text';
$pattern = 'x';
$replacement = 's';
echo preg_replace($pattern, $replacement, $string);

出力結果:Sample Test



「preg_replace」関数の基本書式

preg_replace(
string|array $pattern,
string|array $replacement,
string|array $subject,
int $limit = -1,
int &$count = null
): string|array|null

「preg_replace」関数は、「subject」で指定した文字列などから、 「pattern」指定した文字を検索し、 合致した文字を「replacement」で指定した文字に置換える。


preg_replace( "検索する文字列", "置換える文字列", "検索対象の文字列", 置換を行う最大回数, 置換え回数を格納する変数): 返り値(文字列・配列・真為値)
preg_replace( 必須, 必須, 必須, 省略可, 省略可): 返り値(文字列・配列・真為値)


$Sample_Text = preg_replace( "検索する文字列", "置換える文字列", "既存の文字列", 3, $置き換え回数を保存する変数);
$S=$SearchText; $R=$ReplaceText; $O=$ObjectText; $RC=$ReplaceCount; $Sample_Text = preg_replace( $S, $R, $O, 3, $RC);
$Sample_Text = preg_replace( $S, $R, $O, 3, $RC);
$Sample_Text = preg_replace( $S, $R, $O, -1, $RC);
$Sample_Text = preg_replace( $S, $R, $O, 3);



「preg_replace」関数のパラメータ


「preg_replace」関数は、指示を出す「パラメータ」に幅広い値が指定できるようになっている。
「文字列」「変数」の他に、「配列」「正規表現」も指定できる。



パラメータ説明
pattern 「pattern」パラメータは、検索を行う「文字列」「パターン」を指定するパラメータ。
「変数」「配列」「正規表現」「PCRE」「修飾子」でも使用可能。
replacement 「replacement」パラメータは、
「置換」する「文字列」を指定するパラメータ。
「文字列」の他に「変数」「配列」「正規表現」でも指定可能。

「配列」で指定した場合は、置換えする度に、配列の次の要素に移行し、 置き換え回数より、配列の要素数が少ない時には、「空文字」に置換えるので、文字が削除される。

「$n」「\n」と指定すると、「pattern」で一致した文字が、参照でき、置換え文字に追加できます。
「$n」「\n」を数字「$1」にすると、配列の時などでは、検索に合致した順番の検索文字列を参照する事ができる。
数字の直後に、数字を置きたい場合は、「${1}1 」と記述する事で可能となる。
subject 「検索」「置換」の対象となる「文字列」をしているパラメータ。
「配列」でも指定可能。
「subject」が配列の場合、「検索」「置換」が「subject」で指定した各要素にして実行され、「返り値」も「配列」となる。
limit 「limit」パラメータは、「置換」を実行する「回数」を指定できるパラメータ。
「subject」に対して、「pattern」による「検索」をし、「replacement」に「置換」をする最大回数。
デフォルトは、「-1(制限無し)」が指定されていて、「検索」されたものは、全て「置換」が実行される。
count 「count」パラメータに、「変数」が指定されると、「置換」が実行された回数が格納される。
指定する「変数」は、「空」「0」の変数が良い。
戻り値 「preg_replace」関数は、「subject」引数が、「配列」の場合は「配列」、「その他」の場合は「文字列」で返される。

返り値の値は、
・パターンがマッチした場合 = 「置換」された新しい「subject」
・マッチしなかった場合 = 「subject」をそのまま返す。
・エラーが発生した場合 = 「null」を返す。
エラー / 例外 「\e」修飾子を使用すると、「E_WARNING」レベルのエラーが発生する。
指定した「正規表現」の「パターン」が「コンパイル」できない場合、「E_WARNING」が発生する。


Back