2016-05-04 18 views
1

私はこのHTMLコードを変数に格納された文字列として持っています。HTMLコードからデータを抽出する

<p style="text-align: center;"> 
    <span style="font-size: small;font-family: comic sans ms', sans-serif;"> 
     <strong> 
      word1&nbsp; 
      <span style="line-height: 1.5;"> 
       word2&nbsp; 
      </span> 
      <span style="line-height: 1.5;"> 
       word3&nbsp; 
      </span> 
      <span style="line-height:1.5;"></span> 
     </strong> 
    </span> 
</p> 

私だけword1&nbsp;word2&nbsp;word3&nbsp;を抽出したいです。私はそれをどのようにして最も簡単で時間効率のよい方法で行うことができますか?

>の直前にはなかった文字が<で、データの抽出を開始できるインデックスになると考えていました。

+0

これは正規表現ではありませんが、document.querySelector( 'p')。innerText.split( '') 'は情報を多かれ少なかれ抽出します。 – litel

+0

@litel - >上記のHTMLコードは、変数に格納された文字列でした。私の場合はどうしますか? – Qerjiuthn

+0

どの言語から変数を抽出していますか?どのように変数を取得していますか? – litel

答えて

1

はこのような何か試してみてください:

var html = '<p style="text-align: center;"> 
    <span style="font-size: small;font-family: comic sans ms, sans-serif;"> 
     <strong> 
      alyssa&nbsp; 
      <span style="line-height: 1.5;"> 
       enganio&nbsp; 
      </span> 
      <span style="line-height: 1.5;"> 
       gono&nbsp; 
      </span> 
      <span style="line-height:1.5;"></span> 
     </strong> 
    </span> 
</p>'; 
    var values = $(html).find('p strong').text().split(' '); 

または

var v =[]; 
v.push($(html).find('p strong').clone().find('span').remove().end().text()); 
$(html).find('p strong span').each(function(i,val) { 
if($.trim($(val).text()).length>0) 
v.push($(val).text()) 
}); 
console.log(v); 
+0

上記のHTMLコードは、変数に格納された文字列でした。私の場合はどうしますか? – Qerjiuthn

+1

$(myhtml).find( 'p strong')を使って$( 'p strong')を$(myhtml).find( 'p strong')と$( 'p strong span'スパン')。 (今返信で修正されました) – Adder

1

ただ、これを使用し、それはあなたのpタグ内のすべてのテキストを返します - "alyssa&nbsp; , enganio&nbsp; , gono&nbsp;"を:

jQueryのあなたを使用して
alert($("p").text()); 
+0

上記のHTMLコードは、変数に格納された文字列でした。私の場合はどうしますか? – Qerjiuthn

+1

そのHTMLをページの隠しdivに追加してください。上記の行を処理して結果を得ると、そのdivを削除してください。 –

+0

「alyssa enganio gono」を取得した後は、文字列を使用して分割することができます。スプリット(" ")。 –

1

簡単に取得できます

、このいずれかを試すことができます: -

$('p').text(); 

それは彼らの子孫を含むマッチした要素の集合の各要素の組み合わせテキスト内容を返すか、また、マッチした要素のテキスト内容を設定するために使用されます。

+0

上記のHTMLコードは、変数に格納された文字列でした。私の場合はどうしますか? – Qerjiuthn

+0

Divのどこかにそのコードを追加して、表示プロパティーを "none"に設定し、$( 'p')のようにすることができます。 –

0

子供のテキストがないタグのテキストを取得したいと思います。

だからthis thread

このコードを参照してください。

console.log($("strong").clone().children().remove().end().text()); 

とjQueryオブジェクトに文字列を変更するには、このコードthis thread

を参照してください。

var element = $('<div id="a1"></div><div id="a3"></div>'); 
2

あなたは正規表現を使用しているのでタグ私は正規表現を使用してソリューションを投稿します。

var re = /\w+&nbsp;/g; 
var results = html.match(re); 

「結果」配列の結果にアクセスできます。

関連する問題