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

循环遍历字符串并将每个单词包装在div-PHP中,php,arrays,laravel,Php,Arrays,Laravel,我得到了一个网站“关键字”为我的网络ranker。它返回我需要的结果,但是我想把每个关键字都包装成一个span标记 这就是我获取关键字的方式: $websiteTags = get_meta_tags('http://www.'.$website.'/'); dd($websiteTags); 这就给了我: 我把它们称为$websiteTags['keywords']要获得此结果,请执行以下操作: 我需要把字符串中的每个单词都用span标记包起来,这样它在前端看起来会更好,因为现在它只是把

我得到了一个网站“关键字”为我的网络ranker。它返回我需要的结果,但是我想把每个关键字都包装成一个span标记

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

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

dd($websiteTags);
这就给了我:

我把它们称为
$websiteTags['keywords']
要获得此结果,请执行以下操作:

我需要把字符串中的每个单词都用span标记包起来,这样它在前端看起来会更好,因为现在它只是把那个长字符串放出来

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


我尝试过使用foreach循环、str_replace()和联机查找,但找不到我需要的解决方案。

不确定它是否有效,但您可以尝试将数据放入数据库并查询数据,然后使用while循环来回显跨距。

您可以这样做,只是想将每个单词包装成

“”.str_替换(“”,“”,“”,“”,$string)。“”

新列表=['%s'%x
对于$websiteTags['keywords'];)中的x
注意:$websiteTags['keywords']是你问题中定义的字符串,答案对我来说最有效。我复制了他所拥有的:

 $keyword = explode(",",$websiteTags['keywords']);
然后在前端,我只是这样做:

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

此外,答案也很有效

在后端:

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

前端:
{!!$keyword!!}

它真的是一个字符串而不是一个数组吗?如果您尝试过“我尝试过foreach循环,str_replace()”,出了什么问题?你遇到了什么样的错误?为什么这不是你需要的解决方案?我的方法是类似的:循环单词,检查它们是否在
关键字
数组中,替换等等。我的意思是,它在数组中,但我很确定它是字符串对的?$result=explode(,“,$websiteTags['keywords'))循环结果如果你不确定,只对问题进行注释。你的答案将不起作用,因为在DB中仍然是一个字符串。我的坏。新到堆栈。只是一个想法。当我读到它时,我想到了什么。但这不是重点吗?标记只是字符串值的关键字。我尝试了这个,但它返回了实际以文本包装的ar查找每个关键字,而不是HTML代码。@David它是HTML,只需使用
{!!$string!!}}
而不是
{{$string}
来处理这个字符串。是的,我忘了,我在回答中也会提到你。
@foreach($keyword as $key => $w)
        <span class="label label-success">{{ $w }}</span>
@endforeach
$keyword = '<span class="label label-success">'.str_replace(', ', '</span><span class="label label-success">', $websiteTags['keywords']).'</span>';