2017-06-08 5 views
1

私のウェブランカーにウェブサイト "キーワード"を取得しています。私は必要な結果を返しますが、各キーワードをスパンタグに戻すように折り返したいと思います。文字列をループしてdiv内の各単語をラップします - PHP

これはイムキーワード取得方法です:

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

dd($websiteTags); 

私にこれを与える:get_meta_tags results

彼らは、私はちょうどこの結果を得るために$websiteTags['keywords'];を呼び出します。

Keywords

Iその文字列の各単語をスパンタグで囲む必要があります。フロントエンドではより見た目がよくなります。今はその長い文字列を出しているだけです。

私の質問は、どのように私はその文字列をループし、スパンタグの各キーワードをラップしますか?

私はforeachループstr_replace()を実行しようとしましたが、オンラインで見ましたが、必要な解決策が見つかりませんでした。

+0

ですか? –

+0

"foreachループstr_replace()"を実行しようとしましたが、何が問題になりましたか?どのようなエラーが出ましたか? **なぜあなたは必要な解決策ではなかったのですか?私のアプローチは似たようなものです。単語をループし、 'keywords'配列に入っているかどうかを確認します。 –

+0

配列内にありますが、その文字列は正しいと思いますか? – David

答えて

0

@Bas答えが私のためにうまくいきました。私は彼が持っていたものをコピー:

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

はまた、Alexey Mezenin答えはあまりにも動作します:

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

を次にフロントエンドで、私はこれをしませんでした。バックエンドで

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

フロントエンド:それは本当になく文字列の配列{!! $keyword !!}

-2

ない、それがうまくいくかどうかわかられていますが、データベースにデータを置くしようとすると、データを照会し、あなたがこれを行うことができますスパン

+0

をループします。あなたの答えはうまくいきません。なぜなら、DBはまだ文字列であるからです。 – Edwin

+0

私の悪いです。新しいスタック。私がそれを読んだときに何が私の心に来たのかちょうどアイデア。しかし、その点ではありませんか?タグは単に文字列の値であるキーワードです –

3

をエコーするためにwhileループを使用することができますあなただけの各単語をラップしたいれます<span></span>へ:

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

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

+0

私はこれを試しましたが、実際にはをHTMLコードではなく各キーワードを囲んだテキストで返していました。 – David

+0

@David HTMLですので、 '{!!この文字列の '{{$ string}} 'の代わりに$ string !!}}'を使用します。 https://laravel.com/docs/5.4/blade#displaying-data –

+0

ええ、私はそれについて忘れていました。 – David

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

NB。 $ websiteTags ['keywords']はあなたの質問に定義されているような文字列です

関連する問題