如何用span PHP替换空间?

时间:2014-04-11 13:51:29

标签: php

我使用它来按空格分割我的标题,并将第一个单词作为其他颜色样式的跨度,

$title = 'My new title';
$title = explode(' ', $title);
$title[0] = '<span>'.$title[0].'</span>';
$title= join(' ', $title);

正如你所看到的,在这种情况下我只抓住了第一个。 在span中包装所有标题词的最快/最佳/正确方法是什么?

7 个答案:

答案 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)

使用array_walk

$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);