2012-09-12 46 views
0

我目前使用的東西似乎是一個可怕的複雜和不必要的解決方案,形成一個必需的字符串。有沒有更好的方式去除/形成這個字符串在PHP中?

該字符串可以包含任何標點符號幷包含斜槓。

作爲一個例子,這個字符串:

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. 替換所有空白「 - 」

但是,必須有一個更好,更有效的方式。誰能幫忙?

回答

1

個人而言,它看起來很好,但我會做一個小小的改變。

變化

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

以下

preg_replace("/[^a-zA-Z0-9\s]/" 
+0

謝謝你建議我一定會做的。爲了防止有人提出某些問題,我會將問題留出一段時間,而不是我的解決方案。乾杯! – gordyr

相關問題