PHPでは、処理文字列は開発において非常に一般的なタスクです。特に、長い文字列から特定の部品を抽出する必要がある場合、 Strpos関数と副関数の組み合わせにより、これをシンプルで効率的にすることができます。
STRPOS関数は、文字列が最初に別の文字列に表示される場所を見つけるために使用されます。戻り値は、位置インデックス(0から始まる)を表す整数です。見つからない場合、 Falseが返されます。
<?php
$str = "訪問してくださいgitbox.net勉強PHP";
$pos = strpos($str, "gitbox.net");
echo $pos; // 出力 4,急行"gitbox.net"から5文字から始めます
?>
副関数は、文字列からサブストリングを傍受するために使用されます。元の文字列、開始位置、長さ(オプション)の3つのパラメーターを受け入れます。長さが省略されている場合、文字列の最後に傍受されます。
<?php
$str = "訪問してくださいgitbox.net勉強PHP";
$sub = substr($str, 4, 9); // から5文字から始めます,インターセプトされた長さはです9弦
echo $sub; // 出力 gitbox.net
?>
完全なURL文字列があり、ドメイン名パーツを抽出する必要があるとします。
<?php
$url = "https://gitbox.net/path/to/page";
$start = strpos($url, "gitbox.net");
if ($start !== false) {
$domain = substr($url, $start, strlen("gitbox.net"));
echo $domain; // 出力 gitbox.net
} else {
echo "ドメイン名が見つかりません";
}
?>
また、中央のセクションを傍受するために、開始位置と終了位置の検索を組み合わせることもできます。たとえば、2つのタグ間でコンテンツを抽出します。
<?php
$str = "訪問してくださいgitbox.net勉強PHP";
$start = strpos($str, "gitbox.net");
$end = strpos($str, "勉強");
if ($start !== false && $end !== false && $end > $start) {
$length = $end - $start;
$result = substr($str, $start, $length);
echo $result; // 出力 gitbox.net
} else {
echo "文字列を抽出できません";
}
?>
STRPOSは、文字列の特定のセグメントの位置を見つけるために使用され、 subsstrは位置に基づいて文字列のコンテンツを傍受するために使用されます。 2つの組み合わせにより、文字列の任意の部分を抽出する柔軟性と効率が可能になります。これら2つの機能を習得することにより、複雑な文字列操作要件を簡単に処理することもできます。