PHPはさまざまな文字列処理関数を提供します。ここでは、Strspn()関数が1つの文字列の文字の長さを計算するために使用され、同じ文字列が連続して含まれます。 2つの文字列の文字の数をすばやく決定するのに役立ちます。
strspn()関数の基本的な構文は次のとおりです。
int strspn(string $str1, string $str2 [, int $start [, int $length]])
関数パラメーター説明:
STR1:必須、チェックされる最初の文字列。
STR2:必須、文字に一致する文字列が含まれています。
開始:オプション、STR1のチェックを開始する場所を指定し、デフォルトは0から開始します。
長さ:オプション、チェックする文字の数を指定します。
この関数は、STR1から始まる連続した文字でSTR2に含まれる文字の数を返します。 STR1のすべての文字がSTR2に存在する場合、STR1の長さが返されます。
次の例は、strrspn()関数を使用して、弦の一致する文字の数を比較する方法を示しています。
$str1 = "Hello, world!";
$str2 = "Hewoi";
$match = strspn($str1, $str2);
echo $match; // 出力 2
この例では、$ STR1文字列から始まる2つの文字「H」と「E」はどちらも$ STR2に含まれているため、2が返されます。
$ STR1のすべての文字が$ STR2に表示されるかどうかを検出する場合は、次の方法を使用できます。
$str1 = "foobar";
$str2 = "oofrab";
if (strlen($str1) == strspn($str1, $str2)) {
echo "$str1 contains only characters found in $str2";
} else {
echo "$str1 contains characters not found in $str2";
}
このコードは、$ STR1の文字が$ STR2に完全に含まれているかどうかを判断し、対応する結果を出力します。
strrspn()およびsubstr()関数を使用して、文字列内のアルファベットのない文字を削除できます。例は次のとおりです。
$str = "Hello, world!";
$letters_only = substr($str, strspn($str, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"));
echo $letters_only; // 出力 "Helloworld"
ここで、文字列の最初の非アルファベット文字の位置は、strspn()を介して見つかり、次にsubstr()でそれを傍受し、文字部分のみを残します。
また、strspn()関数を使用して文字列でHTMLタグをフィルタリングし、テキストコンテンツのみを保持することもできます。
$str = "<p>This is a <strong>text</strong> with <i>HTML</i> tags</p>";
$text_only = substr($str, strspn($str, " <>&abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"));
echo $text_only; // 出力 "This is a text with HTML tags"
このメソッドは、一般的なテキスト文字と部分的なシンボルを保持し、HTMLタグを削除します。
strspn()関数は、文字列のマッチングを処理するためのPHPの強力なツールです。パラメーターと使用法を習得することにより、文字列比較や非アルファベット文字のフィルタリングなど、さまざまな操作を簡単に完了できます。 substr()または正規表現と組み合わせて、Strspn()は、毎日の開発における文字列処理効率を大幅に改善できます。