ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用してコンテンツの一部をアスタリスクに置き換え、PHP コンテンツをアスタリスクに置き換える_PHP チュートリアル

PHP を使用してコンテンツの一部をアスタリスクに置き換え、PHP コンテンツをアスタリスクに置き換える_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:45:35864ブラウズ

PHP を使用してコンテンツの一部をアスタリスクに置き換え、PHP コンテンツをアスタリスクに置き換えます

最近のプロジェクトでは、誰かの携帯電話番号の中央の桁を非表示にし、最後の 4 桁のみを表示する必要がある場合があります。 ID番号の。最初はネットで検索して、substr_replace関数を使って置き換えているのを見つけましたが、後からこの関数も使いましたが、実際に使ってみるとあまり役に立ちませんでした。

1.substr_replace
まずこの関数の構文を見てみましょう:

コードをコピーします コードは次のとおりです: substr_replace(string,replacement,start,length)

パラメータ 説明
文字列 必須。チェックする文字列を指定します。
交換 必須。挿入する文字列を指定します。
スタート

必須。文字列内のどこから置換を開始するかを指定します。

正の数 - start オフセットで の置換を開始します

負の数値 - 文字列の末尾からの start オフセットで

の置換を開始します

0 - 文字列の最初の文字から

の置換を開始します
チャーリスト

オプション。置換する文字数を指定します。

正の数 - 置換される文字列の長さ

負の数 - 文字列の末尾から置換される文字数

0 - 置換ではなく挿入

1. start と charlist が両方とも正の数値の場合、以下に示すように、Start が 0 から始まることを表しており、緑色の要素が置き換えられる要素になります。

2. start が負の数、charlist が正の数であると理解しやすいです

3. start が正の数、charlist が負の数の場合、最初はこれを誤解しました

4. start が負の数で、charlist が負の数の場合、注意すべき点が 1 つあります。start が負の数で、length が start 以下の場合、length は 0 です。この穴はとても入りやすいです

5. charlist が 0 の場合、置換ではなく挿入になります。 。 。

使ってみて、今のニーズには応えられるものの、将来的に拡張が必要になった場合にはかなり使いにくいと感じたので、自分で構築してみようと思いました。将来的にも便利に使えます。

2. 自作のアスタリスク置換機能

コードをコピー コードは次のとおりです: replaceStar($str, $start, $length = 0)

最初の 2 つのパラメータは上記と同じで、最後のパラメータは上記とは異なります

1. start と length が両方とも正の数値の場合、substr_replace と同じように動作します

2. start が負の数、length が正の数の場合、substr_replace

と同じように動作します。

3. ソースコードの共有
リーリー

私はアルゴリズムが苦手なので、ここでは数式を使わずにごく一般的なロジックを使って説明します。

1. if($start >= 0) start が 0 以上 0 未満の分岐です

2. 始点のうち、長さが 0 より大きい、0 より小さい、0 に等しい 3 つの枝を作成します

3. 最後に start、count、および置換されるアスタリスク文字列を計算します。最終的に計算された start と count は両方とも正の数値です。

4. 単体テスト


リーリー

以上がこの記事の全内容です、皆様の学習のお役に立てれば幸いです。

http://www.bkjia.com/PHPjc/1040810.html

tru​​ehttp://www.bkjia.com/PHPjc/1040810.html技術記事 PHP を使用してコンテンツの一部をアスタリスクに置き換えます。 PHP コンテンツのアスタリスクの置換 最近のプロジェクトで、誰かの携帯電話番号の中間の数字を非表示にし、ID 番号の最後の 4 桁のみを表示する必要があることに遭遇しました。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。