繁体   English   中英

如何用span PHP替换空间?

[英]How to replace space with span PHP?

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

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

如您所见,在这种情况下,我仅捕获第一个。 用span包裹所有标题词的最快/最佳/正确方法是什么?

您可以使用foreach循环来做到这一点:

$title = 'My new title';
$title = explode(' ', $title);
foreach ($title as $k => $v){
    $title[$k] = '<span>'.$v.'</span>';
}
$title= join(' ', $title);

echo $title;
$title = 'My new title';
$title = explode(' ', $title);
foreach($title  as $v)
{
  echo $ti = '<span>'.$v.'</span>';
}

这样做吧。 简单又容易。

str_replace(" ", "</span><span>", $title);
$title = "<span>$title</span>";

使用array_walk

$title = 'My new title';
$title = explode(' ', $title);
$title = array_walk($title, function(&$word) { return '<span>'.$word.'</span>'; })
$title= implode(' ', $title);
<?php
function span($n){
    return('<span>'.$n.'</span>');
}

$title = 'My new title';
$title = explode(' ', $title);
$title = join(' ', array_map("span", $title));
print_r($title);
?>

其他答案没有错,但是这是使用正则表达式的替代解决方案:

$title = preg_replace('/\S+/', '<span>\0</span>', $title);

预浸料更换

$title = "My new title";
echo preg_replace('/(\w+)/i', '<span>$1</span>', $title);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM