ホームページ  >  記事  >  バックエンド開発  >  正規表現を使用して英数字以外の文字を削除し、スペースをハイフンに置き換える方法

正規表現を使用して英数字以外の文字を削除し、スペースをハイフンに置き換える方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-23 22:05:29660ブラウズ

How to Strip Non-Alphanumeric Characters and Replace Spaces with Hyphens Using Regular Expressions?

英数字以外の文字を削除し、スペースをハイフンに置き換える

問題: タイトルを URL に変換するときにユーザーが課題に直面する文字、数字、ハイフンのみを含むもの。彼らは、特殊文字を取り除き、スペースをハイフンに置き換える方法を模索しています。

解決策: 正規表現 (正規表現)

正規表現は、パターン マッチングと文字列の強力なツールです。操作。これらを使用して、目的の変換を実現できます。

コード:

<code class="php">function clean($string) {
    // Replace spaces with hyphens
    $string = str_replace(' ', '-', $string);
    
    // Remove non-alphanumeric characters and hyphens
    $string = preg_replace('/[^A-Za-z0-9\-]/', '', $string);
    
    // Replace multiple hyphens with a single one
    $string = preg_replace('/-+/', '-', $string);
    
    return $string;
}</code>

使用法:

<code class="php">echo clean('a|"bc!@£de^&amp;$f g');</code>

出力:

abcdef-g

追加の変更:

複数のハイフンが連続して表示されないようにするには、最後の行を置き換えます。

<code class="php">return preg_replace('/-+/', '-', $string);</code>
によるクリーン関数の

以上が正規表現を使用して英数字以外の文字を削除し、スペースをハイフンに置き換える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。