不要な文字に残し、私は文字列を持っている:私はURL友好タグにそれを回すにしたい、と私はそれを行うための機能を開発しましたにpreg_replace -
$string = "Hello World!";
を:
function stripJunk($string){
$string = str_replace(" ", "-", $string);
$string = preg_replace("/[^a-zA-Z]\s/", "", $string);
$string = strtolower($string);
return $string;
}
しかし、私は上記のそれを介して私の$string
を実行したときに、私は次を得る:
$string = "hello-world!";
charactがあるようですたとえ私が理解しているものであっても、彼らは私のpreg_replaceを滑り落ちます。
それはこのようにお読みください:ここで何が起こっている
$string = "hello-world";
?
編集1:私は正規表現は初心者のものだと認識していませんでしたが、何でも構いません。さらに、文字列内の\ sを削除しても、目的の結果は得られません。
所望の結果である:
- すべてのスペースをダッシュに変換されます。
- A-Zまたは0-9以外の残りの文字はすべて削除されます。
- 文字列を小文字に変換します。
編集2+:自分のコードをちょっときれいにしました。
あなたのコードはほとんど意味がありません。すべてのスペースは最初のステップで置き換えられます。したがって、 'str_replace'は何もしません。 – SilentGhost
私はそれが元の問題が削除されるように質問を厳しい編集だと思う。それ以前の有用な答えが愚かに見える –
私がpreg_replaceで持っていた問題。私は私が使用したmathcingステートメントを変更しませんでした。改訂履歴を見てください。私が最初から使用していた一致する文は変更されませんでした。私はいくつかの理由からコードを変更しました:1)私が持っていた問題に集中したいと思っていました.2)私はちょっとぼんやりしていて、愚かなおっぱいをして、 (これはとにかく訂正されているでしょう)。 – EvilChookie