0

私は現在、必要な文字列を形成するために、ひどく複雑で不必要な解決策のように見えるものを使用しています。

文字列には句読点を含めることができ、スラッシュが含まれます。

例として、この文字列は次のとおりです。

Test Ripple, it\'s a comic book one!

私の現在の方法を使用して:

str_replace(" ", "-", trim(preg_replace('/[^a-z0-9]+/i', ' ', str_replace("'", "", stripslashes($string)))))

正しい結果を返します:

Test-Ripple-its-a-comic-book-one

これは、望ましい出力を達成するために私の現在の(貧弱な)ソリューションが行っていることの内訳です:-

  1. 文字列からすべてのスラッシュを削除します
  2. str_replaceを使用してアポストロフィを削除します
  3. preg_replaceを使用して残りの句読点を削除し、空白に置き換えます
  4. 句読点によって引き起こされた可能性のある文字列の最初/最後から余分な空白を削除します。
  5. すべての空白を「-」に置き換えます

しかし、より良い、より効率的な方法がなければなりません。誰か助けてもらえますか?

4

1 に答える 1

1

個人的には問題ないように見えますが、小さな変更を1つ行います。

変化する

preg_replace("/[^a-z0-9]+/i"

次へ

preg_replace("/[^a-zA-Z0-9\s]/"
于 2012-09-12T20:45:59.597 に答える