base36 としてデコードされた文字列、つまり 0-9a-z があります。他の文字は次のようにデコードされます: base36 に変換され、先頭に大文字の「A」が続き、その後に文字「B」が続く Unicode 文字コード。複数の Unicode 文字が表示される場合、'B' が後に続く場合は最後の文字のみが表示されます。
例:
zergme@wtfd-婴儿服饰.com
次のように変換:
zergmeA1sBwtfdA19Ahv8Ag1rAkctAub4A1aBcom
そのようにデータを変換するのは便利でしたが、今はデコード イット バック アルゴリズムの書き方に頭を悩ませています。
文字コードを Unicode 文字に変換する関数を既に用意しました。これを「unichr($code)」と呼びます。
...しかし、これらの文字を見つける良い方法が思いつきません。
私は最初に正規表現を使用しようとしていました。
preg_replace('/A.*?B?(?=[AB])/',"$1",$mail);
しかし、それは私が望むようには機能しませんでした...そして、マッチでカスタム変換関数別名「unichr()」をキャストする方法にも気づきませんでした。
その後、strpos() を使用して手動で文字を検索することも考えていましたが、面倒であることが判明しました。
いくつかのパターンを教えていただけますか?または、正規表現について詳しく説明する必要があるか、ループを使用する必要がありますか? 私はちょっと空白です...ありがとう:)
ロルマオ
それだけです。あなたの貢献のおかげで、私は理解したようです:
'/A(.*?)((?=A)|B)/'