循环一个字符串并将每个单词包装在div中 - PHP

时间:2017-06-08 14:03:39

标签: php arrays laravel

我为网站排名网站获取了一个网站“关键字”。它返回我需要的结果,但是我希望将每个关键字包装回一个span标记。

这就是我获取关键字的方式:

$websiteTags = get_meta_tags('http://www.'.$website.'/');

dd($websiteTags);

这给了我这个:get_meta_tags results

他们我只是致电$websiteTags['keywords'];来获得这个结果:

Keywords

我需要在span标记中包含该字符串中的每个单词,以便它在前端看起来更好,因为现在它只是放出那个长字符串。

我的问题是,如何循环遍历该字符串并将每个关键字包装在span标记中。

我尝试过做foreach循环,str_replace()并在线查看,但找不到我需要的解决方案。

4 个答案:

答案 0 :(得分:3)

你可以这样做,你只想将每个单词包装成<span></span>

'<span>'.str_replace(', ', '</span><span>', $string).'</span>'

http://php.net/manual/en/function.str-replace.php

答案 1 :(得分:0)

new_list = ['<span style="....">"%s"</span>' % x 
            for x in $websiteTags['keywords'];)

NB。 $ websiteTags [&#39; keywords&#39;]是您问题中定义的字符串

答案 2 :(得分:0)

@Bas回答对我来说是最好的。我复制了他所拥有的东西:

 $keyword = explode(",",$websiteTags['keywords']);

然后在前端,我就这样做了:

@foreach($keyword as $key => $w)
        <span class="label label-success">{{ $w }}</span>
@endforeach

此外,Alexey Mezenin回答也有效。

在后端:

$keyword = '<span class="label label-success">'.str_replace(', ', '</span><span class="label label-success">', $websiteTags['keywords']).'</span>';

前端:{!! $keyword !!}

答案 3 :(得分:-2)

不确定它是否可行,但您可以尝试将数据放入数据库并查询数据并使用while循环来回显跨度