2017-01-17 10 views
1

私はこのようなデータベースのテキストフィールドにデータを格納している:PHP - データベースからのデータから二重引用符を削除するにはどうすればよいですか?

<p><strong>Relish Scrumptious Dessert Delights with Baskin Robbins Gift 
Voucher</strong></p><span>good</span><div>any rendom text</div> and so on.. 

は、だから今、私は、フロントエンドでこのデータを印刷するとき、それは、HTMLタグを削除する必要がある唯一のフィールドの主な内容を示したが、いや、それは同じ私を見るのです私は、データベースからデータをフェッチしていたときに、それはそれを文字列として取っているので、私は、データベースに格納するデータは、それが文字列として読み込み、私は持っているように私に同じデータを表示していますので、それは始まり、データの終わりに二重引用符を追加します意味しますデータベース。

私は、要素を検査し、検査のために、私は要素を検査使っ二重引用符を削除しているし、すべてのデータが正しく表示されるように、それは自動的に二重引用符を追加することを示して使用してチェックマークを付けます。

は、私は、ページの読み込みが、私の実際のデータはのでjqueryの関数が何を交換していない任意の 二重引用符が含まれていないときにjQueryを使用してスペースを持つ二重引用符を交換してみました。

は、私はあなたたちは私の問題と誰かが私が私が直面しています。この奇妙な問題の解決策を知っているように理解を願っています私の問題を説明するために懸命に試みました。

UPDAT

BrandController.php

public function get_brand_api(){ 


$select = "SELECT 
       b.*, 
       GROUP_CONCAT(bp.p_name) AS price, 
       GROUP_CONCAT(bp.p_skuId) AS sku, 
       GROUP_CONCAT(bp.p_type) AS type, 
       GROUP_CONCAT(bp.p_valueType) AS valuetype 
       FROM 
       brands AS b 
       LEFT JOIN 
       brand_price AS bp ON b.hash = bp.hash 
       WHERE b.slug = :slug GROUP BY b.brand_id 
       "; 
    $sth = $this->connection->prepare($select); 
    $sth->bindParam(":slug", $slug); 
    $sth->setFetchMode(PDO::FETCH_ASSOC); 
    $sth->execute(); 
    $status = $sth->fetchAll(); 

    return $status; 


} 

brand_detail.blade.php

<div id="container_detail"> 
    <brand-detail></brand-detail> 
</div> 
<template id="brand-detail-template"> 
    <div class="content"> 
     <h1> @{{d.brand_name}} </h1> 
     <img :src="d.image" class="">  
    </div> 
    @{{d.description}} // HERE I AM GETTING HTML TAGS WITH DATA. 
</template> 

brand_detail.js

Vue.component('brand-detail', { 

template: '#brand-detail-template', 

data: function(){ 

return { 

    detail: [] 

} 

}, 

created: function(){ 
//var slug = this.$route.params.slug; 
var slug = window.location.pathname.split("/").pop(); 
var url = window.location.protocol + "//" + window.location.host + "/"; 

var api_url = url + 'gift_india/brand_detail/' + slug; 
var that = this 
axios.get(api_url) 
    .then(function (response) { 
     //console.log(response.data); 
     that.detail = response.data; 

    }) 
    .catch(function (error) { 
     console.log(error.data); 
    }); 

    }, 

    filters: { 
removehtml: function (value) { 
    if (!value) return '' 
    var myContent = value; 
    return myContent.replace(/(<([^>]+)>)/ig,""); 
}, 
strtoarr: function (value) { 

    var array = JSON.parse("[" + value + "]"); 
    return array; 
} 


} 



}); 



new Vue({ 



el: '#container_detail' 



}) 
一部rendomタグとテンプレートがあるので、ブレードテンプレートコード上

はVueのJS関連しています。

+0

あなたはプレーンテキストのみを表示できますか?以下のような_「良いバスキン・ロビンスギフト券とのレリッシュおいしいデザートデライト任意のrendomテキストなど..」_は – purvik7373

+0

あなたがあなたのウェブページでこのテキスト/ HTMLを含めているコードを表示してもらえますか? purvik7373 @ –

+0

は、私は彼がページはあなたが正しいですT.Adak @生の文字列 –

答えて

0

あなたは、あなたが二重引用符を交換し、HTMLは以下のコードを使用してそれを考慮したい場合は、タグ

echo strip_tags($text); 

を削除したい場合はstrip tags機能を使用することができます。

$html = str_replace('"', '', $text); 
+0

私はそれをjquery関数でやってみたいですか?私はlaravel、Vue jsと一緒に作業していますので、Vue jsを使用してすべての機能を適用する必要があり、jqueryと同じです。 – Dhaval

+0

コントローラコードとブレードファイルコードを表示できますか? –

+0

すべてのデータがVue jsを使用しているため、コントローラまたはブレードのテンプレートコードは必要ありません。それは最初と最後に二重引用符を追加することですが、引用符はデータにはありません。実際のデータには二重引用符がないため、jquery replace関数を使用して引用符を置き換えることはできません。 – Dhaval

0

文字列からすべての二重引用符を削除するにはstr_replaceを使用してください。

$data = str_replace('"', '', $text); 
+0

私はjqueryで完了する必要があります。 PHPはありません申し訳ありません!!!!!私の実際のデータには二重引用符は含まれていません。それはシステムや私が知らない何かによって追加されます。 – Dhaval

+0

@watsonコードを見ると、何が間違っているかを理解するのに役立つかもしれません。 –

+0

@ T.Adak私は質問を更新し、控えめにするためのコードを追加しました。 – Dhaval

関連する問題