替换PHP中的所有字符串

时间:2010-12-12 17:01:41

标签: php string trim str-replace

我有一个字符串Trade Card Catalogue 1988 Edition除了1988年之外,我希望删除所有内容。

我可以拥有所有字母的数组并执行str_replacetrim,但我想知道这是否是更好的解决方案?

$string = 'Trade Card Catalogue 1988 Edition';
$letters = array('a','b','c'....'x','y','z');
$string = str_to_lower($string);
$string = str_replace($letters, '', $string);
$string = trim($string);

提前致谢

2 个答案:

答案 0 :(得分:4)

正则表达式?

所以假设你想要数字(而不是第四个字或类似的东西):

$str = preg_replace('#\D#', '', $str);

\D表示每个不是数字的字符。与[^0-9]相同。

如果可能有更多数字,但你只想获得一个四位数字(一年),这也会有效(但如果你有几个四位数字并且你想得到一个特定的数字,那么显然会失败):

$str = preg_replace('#.*?(\d{4,4}).*#', '\1', $str);

答案 1 :(得分:1)

您实际上只需将整个字符集作为参数传递给trim

$string = trim($string, 'abc...zABC...Z ' /* don't forget the space */);