2012-05-05 5 views
1

私はHTML文字列を持っていて、すべてのtrの内部HTMLを取得したいと思います。以前はJavaScriptでjQueryを使っていましたが、今はAppceleratorを使用していますが、そこにDOMを使用することはできません。 私はPHPのために働く正規表現を持っていますが、私はJSでそれを使用する方法を知らない。 誰かがJSでこの正規表現を使用する方法を知っているか、他の解決策があります。javascriptですべてのテーブル行を取得

PHPの正規表現:あなたは、コンソールにそれを試してみることができます

var html = document.body.innerHTML; 
var matches = html.match(/<div>(.+?)<\/div>/ig); 
console.log(matches); 

preg_match_all("#\<tr\>(.+?)\<\/tr\>#s", $html, $match); 
+1

HTML文書を解析するために正規表現を使用しないでください。 – m0skit0

+0

他のアイデアはありますか? – MaxiNet

+1

いいえ、上のように言いました。私はappceleratorを使用しているので、私はDOMがありません。 – MaxiNet

答えて

0

私はこのような何か(未テスト)を行うだろう:これは「『>』ではありません何の試合0以上を言うようなものです

var rowColArray = [], //2D format - first key will be row, second will be column 
rowStrings.match(/<tr[^>]*>([^<]*)<\/tr>/ig), 
i = rowStrings.length; 

while(i--){ 
    rowColArray[i] = rowStrings.match(/<td[^>]*>([^<]*)<\/td>/ig) 
} 

[^>]*の使用と類似しました"すべての単一の文字に比べてはるかに高速です。"一致が確立されるまで表現することができる。 '。'を使用する唯一の理由はregExのワイルドカードは、それが表現していない本当に古い不明瞭な空白文字を見つけることです。これは、大きなテーブルを扱うダムブラウザのregExエンジンでは、実際にはかなり大きな違いがあります。

0

私はこのように、このページ上のほとんどすべてのdivの内容を得ました。

関連する問題