検索

ホームページ  >  に質問  >  本文

php を使用して、preg_replace 関数や str_replace 関数を使用せずに、次の文字 ½ ´ ¤ £ € ¨ を削除します。

解決しなければならない問題があります。データはフォーム入力から取得されるため、文字を事前に決定できないため、preg_replace または str_replace は使用できません。

この $name "Test ½ ´ ¤ £ € ¨" #½ ´ ¤ £ € ¨

この名前からこれらの文字を削除しようとしています。

フロントエンドにも同じことが当てはまり、文字を事前に決定することはできません

次の方法を試しましたが、どれもうまくいきませんでした

リーリー

私の理想的な出力は Test

です
P粉163465905P粉163465905497日前579

全員に返信(1)返信します

  • P粉731861241

    P粉7318612412023-09-13 15:38:26

    文字列内の文字はいつでも反復処理できます。ただし、PHP は Unicode をネイティブにサポートしていないことに注意してください。

    リーリー

    これにより、ユーザーが指定した文字列内のマルチバイト文字が反復処理され、それらに対して任意の操作を実行できるようになります。この例では、指定した文字を省略して、結果の文字列を構築します。 (デバッグされていません。申し訳ありません。)

    (私見ですが、文字列置換関数を回避するあなたの理由はおそらく間違っていると思います。正規表現文字クラスを使用する利点は次のとおりです。正規表現の作成者は、Unicode に多くの不穏な状況が含まれる、多くの奇妙なエッジ ケースを解決してきました。)

    返事
    0
  • キャンセル返事