PHPで指定文字が n 回目に出現する位置以降の文字列を取得するコード例です
指定文字が 2 回目に出現する位置以降の文字列を取得する際には、「$numberTime = 2;」と指定、
指定文字が 1 回目に出現する位置以降の文字列を取得する際には、「$numberTime = 1;」と指定してください。
$str = '東京で-今日-ごはんを-食べました。';
$search = '-';
$numberTime = 2;
$str = '東京で-今日-ごはんを-食べました。';
$search = '-';
$numberTime = 2;
$offset = 0;
while ($numberTime-- > 0) {
if (($pos = strpos($str, $search, $offset)) === false ) {
$str = '';
} else {
$str = substr($str, $pos+1);
}
}
echo $str; //今日-ごはんを-食べました。
※ n 回目の回数が可変する場合や、回数が多い場合には、このコードを参考にしてみてください。
回答者:さん /
2023 年 5 月 15 日 投稿
strpos関数を使って指定文字が 2 回目に出現する位置を取得し、substr関数を使ってその位置以降の文字列を取得してください
こんにちは。
指定文字が2回目に出現する位置以降の文字列を取得するには、strpos関数を使って、指定文字が2回目に出現する位置を取得し、substr関数を使ってその位置以降の文字列を取得します。
例えば、対象文字列が「東京で-今日-ごはんを-食べました。」の場合、「-」が 2 回目に出現する位置以降の文字列を取得したい場合は、以下のようにコードを書くことができます。
$str = "東京で-今日-ごはんを-食べました。";
$pos = strpos($str, "-");
$pos = strpos($str, "-", $pos + 1);
$result = substr($str, $pos + 1);
echo $result; //ごはんを-食べました。
上記のコードでは、strpos関数で最初に「-」が出現する位置を取得し、次に「-」が2回目に出現する位置を取得しています。
そして、substr関数でその位置以降の文字列を取得しています。
上記のコードを実行すると、「ごはんを-食べました。」という結果が返されます。
ご参考までに。
回答者:びとうななさん /
2023 年 5 月 15 日 投稿
strpos()関数を使用して区切り文字の位置を見つけた後、substr()関数を使用して 2 回目の区切り文字以降の文字列を取得してください
以下は、指定文字が2回目に出現する位置以降の文字列を取得するPHPのコード例です。
$str = "東京で-今日-ごはんを-食べました。";
$delimiter = "-";
$pos = strpos($str, $delimiter);
if ($pos !== false) {
$pos = strpos($str, $delimiter, $pos + 1);
if ($pos !== false) {
$result = substr($str, $pos + 1);
echo $result; // 出力結果: ごはんを-食べました。
}
}
このコードでは、まず、strpos()関数を使用して、最初の区切り文字の位置を見つけます。
次に、2 回目の区切り文字の位置を見つけるために、strpos()関数を再度使用します。
最後に、substr()関数を使用して、2 回目の区切り文字以降の文字列を取得します。
取得した文字列は、$result変数に格納され、echo文で出力されます。
回答者:さん /
2023 年 5 月 15 日 投稿
strpos関数とsubstr関数を使用して、指定された文字列内での 2 番目の指定文字の位置を検索し、その位置から末尾までの部分文字列を取得してください
以下は、PHPで指定文字が2回目に出現する位置以降の文字列を取得する方法です。
この場合、strpos関数とsubstr関数を使用して、指定された文字列内での 2 番目の指定文字の位置を検索し、その位置から末尾までの部分文字列を取得します。
$str = "東京で-今日-ごはんを-食べました。";
$delimiter = "-";
$pos = strpos($str, $delimiter);
if ($pos !== false) {
$pos = strpos($str, $delimiter, $pos + 1);
}
if ($pos !== false) {
$result = substr($str, $pos + 1);
echo $result; //ごはんを-食べました。
}
このコードは、まず最初に指定された文字列内での最初の指定文字の位置を検索し、その位置より後ろに 2 番目の指定文字があるかどうかを確認します。
2 番目の指定文字が見つかった場合、指定文字の位置から末尾までの部分文字列を取得し、それを出力します。
回答者:さん /
2023 年 5 月 15 日 投稿