ホームページ >バックエンド開発 >PHPチュートリアル >URL をクリーンアップする方法: 特殊文字を削除し、スペースをハイフンに変換しますか?
URL 内の特殊文字の削除とスペースのハイフンへの変換
多くの Web 開発タスクでは、特定の書式標準に準拠するために入力をクリーンアップする必要があります。一般的なタスクの 1 つは、スペースをハイフンに変換する際に、URL から特殊文字を削除することです。これにより、URL が簡潔であり、さまざまなプロトコルと互換性があることが保証されます。
正規表現 (regex) は、このタイプのテキスト操作を実行するための強力で柔軟なアプローチを提供します。詳細なデモは次のとおりです。
解決策:
次の PHP 関数は、英数字以外の文字をすべて削除し、スペースをハイフンに置き換えて、指定された文字列を効果的にクリーンアップします。
<code class="php">function clean($string) { $string = str_replace(' ', '-', $string); // Replaces all spaces with hyphens. return preg_replace('/[^A-Za-z0-9\-]/', '', $string); // Removes special chars. }</code>
この関数は 2 つのコア操作を利用します:
使用法:
clean() 関数を使用するには、引数として文字列を渡すだけです:
<code class="php">$cleanedString = clean('a|"bc!@£de^&$f g');</code>
出力:
cleanedString 変数には、変更された文字列「abcdef-g」が含まれるようになります。
複数のハイフンの防止:
複数の連続するスペースが元々存在していた場合入力文字列を削除すると、隣接するハイフンが発生する可能性があります。これに対処するには、clean() 関数を次のように変更します。
<code class="php">function clean($string) { $string = str_replace(' ', '-', $string); // Replaces all spaces with hyphens. $string = preg_replace('/[^A-Za-z0-9\-]/', '', $string); // Removes special chars. return preg_replace('/-+/', '-', $string); // Replaces multiple hyphens with single one. }</code>
追加の preg_replace('/- /', '-', $string) 行は、連続するハイフンのシーケンスを単一のハイフンに置き換えます。 .
以上がURL をクリーンアップする方法: 特殊文字を削除し、スペースをハイフンに変換しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。