变量$name
(字符串)给出类似(5个可能的值)的内容:
"Elton John"
"Barak Obama"
"George Bush"
"Julia"
"Marry III Great"
想要在第一个空格之后添加<br />
(单词之间的“”)。
所以,它应该在echo时给出:
"Elton<br/>John"
"Barak<br/>Obama"
"George<br/>Bush"
"Julia"
"Marry<br/>III Great"
1)只有在字符串中有多个单词时才应添加<br />
。
2)仅在第一个单词之后。
3)变量可以超过3个单词。
答案 0 :(得分:0)
if (($pos = strpos($name, " ")) !== false) {
$name = substr($name, 0, $pos + 1) . "<br />" . substr($name, $pos +1);
}
答案 1 :(得分:0)
if (count(explode(' ', trim($string))) > 1) {
str_replace(' ', ' <br />', $string);
}
答案 2 :(得分:0)
$name = preg_replace('/([^ ]+) ([^ ]+)/', '\1 <br />\2', $name, 1);
测试出来......
$names=array(" joe ",
"big billy bob",
" martha stewart ",
"pete ",
" jim",
"hi mom");
foreach ($names as $n)
echo "\n". preg_replace('/([^ ]+) ([^ ]+)/', '\1 <br />\2', $n, 1);
..给出...
joe
big <br />billy bob
martha <br />stewart
pete
jim
hi <br />mom
答案 3 :(得分:0)
这可以满足您的所有要求:
$tmp = explode(' ', trim($name));
if (count($tmp) > 1)
$tmp[0] = $tmp[0] . '<br />';
$name = trim(implode($tmp, ' '));