スキルアップを始める!

【PHP】文字の一部を切り抜く・取り除く方法|str_replace・strstr

PHP(ピーエイチピー)
PHP(ピーエイチピー)
この記事は約3分で読めます。

※記事中に広告情報を含みます。

スキルを手に入れた時、人は強くなれる。
Youtubeでスキルアップを始める 電子書籍でスキルアップを始める
\ワードプレスのスキルアップはこちら!/ WordPress入門読本

例えば、下記のようなデータから文字の一部を切り抜く方法です。

a:5:{i:1;s:4:"like";i:2069;s:4:"like";i:1177;s:4:"like";i:1173;s:4:"like";i:1011;s:4:"like";}

a:の部分を削除する(str_replace)

頭の「a:」部分を削除したいと思った時は、方法はいくつかあるかと思いますが、str_replaceという方法を使って消すことができます。

例えば、今回の削除したい冒頭の文字が変数$resultに入っているとした場合に、変換をしてみます。

str_replace — 検索文字列に一致したすべての文字列を置換する

$new_str = str_replace('a:', '', $result);
echo $new_str;

すると、変数内で「a:」という文字が入っている部分が削除されました!

5:{i:1;s:4:"like";i:2069;s:4:"like";i:1177;s:4:"like";i:1173;s:4:"like";i:1011;s:4:"like";}

この関数は、subject の中の search を全て replace に置換します。

https://www.php.net/manual/ja/function.str-replace.php

特定の文字以降を削除する(strstr)

次に、特定の文字以降の文字を削除してみます。

[rml_read_more]

$new_str2 = strstr($new_str,':{',true); 
echo $new_str2;

strstr — 文字列が最初に現れる位置を見つける

説明
strstr(string $haystack, string $needle, bool $before_needle = false): string|false
haystack の中で needle が最初に現れる場所を含めてそこから文字列の終わりまでを返します。

https://www.php.net/manual/ja/function.strstr.php

まとめ

このような感じで、文字列から、指定した文字の前後を削除することができました!

このような感じで、特定の文字だけ削除することができます。

おさらい▼

$new_str = str_replace('a:', '', $result);
echo $new_str;
$new_str2 = strstr($new_str,':{',true); 
echo $new_str2;

strstrは、引数をfalseにしてみると、一致した文字から左側が消えました。

$new_str2 = strstr( $value[0],':{',false); 
echo $new_str2;

このような感じで色々と削除できました。ご参考ください😃

URLをコピーしました!