ホームページ >バックエンド開発 >PHPチュートリアル >PHP文字列、string case_PHPチュートリアルの単語の末尾で文字間で大文字と小文字を交換する方法

PHP文字列、string case_PHPチュートリアルの単語の末尾で文字間で大文字と小文字を交換する方法

WBOY
WBOYオリジナル
2016-07-13 10:14:28885ブラウズ

PHP文字列の単語末尾の文字の大文字と小文字を交換する方法、文字列の大文字と小文字の区別

この記事の例では、PHP 文字列の単語の末尾の大文字と小文字を交換する方法を説明します。参考のためにみんなで共有してください。具体的な実装方法は以下の通りです

1. 要件:
「A Journey of, A thousand 'miles' must can't "begin" with a single step.」のような文字列を指定すると、PHP プログラムによって「a journeY of, A thousand 'mileS' musT」に処理されます。たった 1 つのステップから「始める」ことはできません。」

ここで注意すべきこと:

1. 各単語の最後の文字が大文字の場合は小文字になります。
2. can't 形式の変換を考慮する必要があります。
3. 句読点(,' " . ;のみ)は変更する必要はありません。

2. 参照アルゴリズムは次のとおりです:

コードをコピーします コードは次のとおりです:
関数 ConvertLastChar($str) {
$markArr = array(", ", "' ", "" ", ". ", "; ");
$ret = "";
for ($i = 0, $j = strlen($str); $i < $j; $i++) {
If ($i < $j - 2) {
$afterStr = $str{$i + 1} .
} else if ($i < $j - 1) {
$afterStr = $str{$i + 1} " ";
}
if (in_array($afterStr, $markArr)
|| $i == $j - 1
|| $str{$i + 1} == " ") {
$ret .= strtoupper($str{$i}) === $str{$i}
strtolower($ str {$ i}) : strtoupper($str{$i});
} else {
$ret .= $str{$i};
}
}
return $ret;
}
?>

テストコードは次のとおりです:


コードをコピーします コードは次のとおりです:

//テスト
    $str1 = "千「マイル」の旅は、一歩から「始まる」ことはできません。";
    $str2 = "千「マイル」の旅は、一歩から「始まる」ことはできません。 ";
    $str3 = "千「マイル」の旅は、一歩から「始まる」ことはできません。 a ";
    $str4 = "千「マイル」の旅は、一歩から「始まる」ことはできません。a B";
    $str5 = "千マイルの旅は、一歩から「始まる」ことはできません。 a b'";
    $str6 = "千マイルの旅は、一歩から「始まる」ことはできません。a B"";

echo "source:
" 。 $str1 。 「
結果:
」 。 ConvertLastChar($str1) 。 "

";
    エコー「ソース:
」 。 $str2 。 「
結果:
」 。 ConvertLastChar($str2) 。 "

";
    エコー「ソース:
」 。 $str3 。 「
結果:
」 。 ConvertLastChar($str3) 。 "

";
    エコー「ソース:
」 。 $str4 。 「
結果:
」 。 ConvertLastChar($str4) 。 "

";
    エコー「ソース:
」 。 $str5 。 「
結果:
」 。 ConvertLastChar($str5) 。 "

";
    エコー「ソース:
」 。 $str6 。 「
結果:
」 。 ConvertLastChar($str6) 。 "

";
?>

実行結果の如く:

复制代码代码如下:
source:
千マイルの旅は、一歩から「始まる」ことはできません。
結果:
千マイルの旅は、一歩から始まるわけではありません

出典:
千マイルの旅は、一歩から「始まる」ことはできません。
結果:
千マイルの旅は、一歩から始まるわけではありません

出典:
千マイルの旅は、一歩から「始まる」ことはできません。
結果:
千マイルの旅は、一歩から始まるわけではありません。あ

出典:
千マイルの旅は、一歩から「始まる」ことはできません。 B
結果:
千マイルの旅は、一歩から始まるわけではありません。あ、b

出典:
千マイルの旅は、一歩から「始まる」ことはできません。あ、B'
結果:
千マイルの旅は、一歩から始まるわけではありません。 AB'

出典:
千マイルの旅は、一歩から「始まる」ことはできません。 「B」
結果:
千マイルの旅は、一歩から始まるわけではありません。あ、「

ここで説明されている大規模な PHP プログラムの設計が役立つことを望みます。

http://www.bkjia.com/PHPjc/909347.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/909347.html技術記事 PHP 文字列末文字符实大小書互換的方法,文字列大小写本本文例説明 PHP 文字列末字符实大小書互換的方法。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。