似乎无法得到这个。我想从第一个空格之前的单词和第一个空格之后的前3个字符中获取前2个字符。
不确定是否打破[0]中的单词,[1]会起作用,但正则表达式可能有用。
$string = "Bobby Ryan";
$output = 'BoRya';
由于
答案 0 :(得分:3)
你有什么尝试?
建议:在空格字符上爆炸()你的字符串,通过索引获取数组中的第一个和最后一个值,然后使用substr()来获取你需要的字符。
答案 1 :(得分:1)
这应该可以正常工作。
$string = 'Bobby Ryan';
$words = explode(" ", $string);
$output = substr($words[0], 0, 2) . substr($words[1], 0, 3);
echo $output;
答案 2 :(得分:0)
来自explode()
的手动输入:(http://www.php.net/explode) - array explode ( string $delimiter , string $string [, int $limit ] )
。
可选的$limit
参数指示字符串应展开多少件,并考虑您要实现的目标,以及substr()
(http://www.php.net/substr):
list($beforeSpace, $afterSpace) = explode(" ", $string, 2);
$output = substr($beforeSpace, 0, 2) . substr($afterSpace, 0, 3);
会在第一个空格字符处将字符串分成两个字符串,然后形成前面两个字符的输出,这些字符是空格之前的任意字符,前三个字符是空格之后的任何字符。
答案 3 :(得分:0)
$string = "Bobby Ryan";
$var=explode(" ",$string);
// Totally didnt debug this part, may have to change 2 and 3 to -1 to 1 and 2
$output = substr($var[0],0,2) + substr($var[1],0,3);
答案 4 :(得分:0)
您必须先将字符串拆分为多个部分。看看爆炸或某种String tokinizer。然后,您必须使用子字符串函数来获取字符串的一部分。
$string = "Bobby Ryan";
$output = getPartsOfString($string, 2, 3);
echo $output;
function getPartsOfString($string, $firstNumOfChars, $secondNumOfChars) {
{
$part = explode(" ", $string);
// Get substrings from parts
return substr($part[0], 0, $firstNumOfChars).substr($part[1], 0, $secondNumOfChars);
}
该功能可以有更多参数。第一个和第二个字符串的开头。 (子字符串函数中的0)和特定分隔符。 (更改为爆炸($ delimiter,$ string);
希望这有帮助。
答案 5 :(得分:0)
如果您只想使用正则表达式:
$string = "Bobby Ryan";
$output = preg_replace("/(\w{2})\w* (\w{3})\w*/", "$1$2", $string);