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」には、
文字列の中にある文字を「削除」する方法が、 いくつかあります。

代表的なのは、

・「str_replace」関数
・「preg_replace」関数
・「trim」関数
・「ltrim」関数
・「rtirm」関数

などがあります。


文字列を削除できる関数
・「trim」関数 = 指定された文字を文字列の両端から削除する
・「ltrim」関数 = 指定された文字を文字列の先頭から削除する
・「rtirm」関数 = 指定された文字を文字列の末尾から削除する


「trim」「ltrim」「rtirm」関数の書式はほぼ同じ。
文字列の前後にある指定文字を削除するのに使える関数。
第一引数に、検索対象となる文字列(変数)を指定して、
第二引数に削除したい文字を指定する。

「trim」「ltrim」「rtirm」関数の違いは、
指定した文字を削除する場所が異なる。

「trim」関数 = 両端から指定した文字を削除する
「ltrim」関数 = 先頭のみ指定した文字を削除する
「rtirm」関数 = 末尾のみ指定した文字を削除する

指定した文字を削除する位置が異なるので、
削除したい場所に応じて、「trim」「ltrim」「rtirm」関数を使い分けます。








「trim」関数で文字列の両端から文字を削除する方法


「trim」関数は、
引数で指定した文字を「文字列の両端」から削除する関数。
文字列の途中にある一致する文字は削除されない。


「trim」関数の書式


trim(string $string, string $characters = " \n\r\t\v\0"): string
trim(文字列, 削除したい文字): 返り値(文字列)


trim(文字列, "削除したい文字");
trim("abcdefga", "a");
trim($変数名, "a");



「trim」関数のパラメータ

パラメータ説明
  
string ホワイトスペースを取り除きたい文字列を指定する。
characters 「characters」パラメータにより、削除する文字を指定することができる。
削除したい文字が複数の場合は、全ての文字をリストにして記述する。
「..」は、文字の範囲を指定する際に使用可能。

" " = (ASCII 32 (0x20)) = 通常の空白。
"\t" = (ASCII 9 (0x09)) = タブ
"\n" = (ASCII 10 (0x0A)) = リターン
"\r" = (ASCII 13 (0x0D)) = 改行
"\0" = (ASCII 0 (0x00)) = NULバイト
"\v" = (ASCII 11 (0x0B)) = 垂直タブ
戻り値 「trim」関数は、返り値に、「ホワイトスペース」を取り除いた文字列を返す。


Back





「ltrim」関数で文字列の先頭から文字を削除する方法


「ltrim」関数関数は、
引数で指定した文字を、
「文字列の先頭」から削除する関数。

文字列の途中や、末尾に、一致した文字があっても削除はされない。


「ltrim」関数の書式


ltrim(文字列, "削除したい文字");
ltrim("abcdefg", "a");
ltrim($変数名, "a");



Back





「rtirm」関数で文字列の末尾から文字を削除する方法


「rtirm」関数は、
引数で指定した文字を、「文字列の末尾」から削除する関数。
文字列の先頭と途中で一致する文字は削除されない。


「rtirm」関数


rtirm(文字列, "削除したい文字");
rtirm("abcdefg", "g");
rtirm($変数名, "g");



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」関数で文字を削除するサンプルコード

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

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

出力結果:Sample Test



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

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



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

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



「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」が発生する。


「preg_replace」関数のサンプルコード

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

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

出力結果:Sample Test



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

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



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

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



Back