不要用它的标题判断我的问题。我可以通过两个或三个PHP字符串函数来完成这个。但我想知道是否可以使用一个简单的函数。
这是我的问题:
我的字符串就像Stack OverFlow
一样。现在我只想要7个字符,但没有空格。所以我的输出是StackOv
。当我使用substr
时,它明显有理由给我Stack O
。
我知道我可以使用str_replace
或preg_replace
删除空格,然后使用substr
。但我想知道是否还有其他办法。
答案 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_replace
和substr
相同的功能。
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 );