从没有空格的字符串中获取少量字符

时间:2016-02-04 07:52:43

标签: php string

不要用它的标题判断我的问题。我可以通过两个或三个PHP字符串函数来完成这个。但我想知道是否可以使用一个简单的函数。

这是我的问题:

我的字符串就像Stack OverFlow一样。现在我只想要7个字符,但没有空格。所以我的输出是StackOv。当我使用substr时,它明显有理由给我Stack O

我知道我可以使用str_replacepreg_replace删除空格,然后使用substr。但我想知道是否还有其他办法。

3 个答案:

答案 0 :(得分:0)

$string = 'Stack OverFlow';
$arrString = str_split($string);
$stringResult = '';
$length = 7;
for ($i=0; $i<$length;$i++)
{
    if($arrString[$i] != ' ')
    {
       $stringResult+= $arrString[$i];
    }else{ 
       $i--;
    }
}

答案 1 :(得分:0)

您可以创建一个与str_replacesubstr相同的功能。

function getCharacters($string, $length) {
return substr(str_replace(' ', '', $string), 0, $length)
}

我认为还有另一种方法可以做到这一点。

答案 2 :(得分:-1)

  

我非常想通过一个功能

了解简单明了的方法

这是什么原因?两个函数有什么关系?

回答您的问题

要删除空格,请使用str_replace

$string = 'Stack OverFlow';
$string = str_replace(' ', '', $string);

对于所有空白,请使用preg_replace

$string = 'Stack OverFlow';
$string = preg_replace('/\s+/', '', $string);

然后您将使用substr

$result = substr( $string, 0 , 7 );