2012-09-12 47 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

相关问题