我使用它来按空格分割我的标题,并将第一个单词作为其他颜色样式的跨度,
$title = 'My new title';
$title = explode(' ', $title);
$title[0] = '<span>'.$title[0].'</span>';
$title= join(' ', $title);
正如你所看到的,在这种情况下我只抓住了第一个。 在span中包装所有标题词的最快/最佳/正确方法是什么?
答案 0 :(得分:1)
您可以使用foreach
循环来执行此操作:
$title = 'My new title';
$title = explode(' ', $title);
foreach ($title as $k => $v){
$title[$k] = '<span>'.$v.'</span>';
}
$title= join(' ', $title);
echo $title;
答案 1 :(得分:1)
$title = 'My new title';
$title = explode(' ', $title);
foreach($title as $v)
{
echo $ti = '<span>'.$v.'</span>';
}
答案 2 :(得分:1)
这样做。简单易行。
str_replace(" ", "</span><span>", $title);
$title = "<span>$title</span>";
答案 3 :(得分:1)
$title = 'My new title';
$title = explode(' ', $title);
$title = array_walk($title, function(&$word) { return '<span>'.$word.'</span>'; })
$title= implode(' ', $title);
答案 4 :(得分:1)
<?php
function span($n){
return('<span>'.$n.'</span>');
}
$title = 'My new title';
$title = explode(' ', $title);
$title = join(' ', array_map("span", $title));
print_r($title);
?>
答案 5 :(得分:0)
其他答案没有错,但这是使用正则表达式的替代解决方案:
$title = preg_replace('/\S+/', '<span>\0</span>', $title);
答案 6 :(得分:0)
Preg replace
$title = "My new title";
echo preg_replace('/(\w+)/i', '<span>$1</span>', $title);