• 締切済み

jQueryの.text()関数でiframe

.text()でHTMLの中の文字列を取得してるんですが これはHTMLタグを取り除いてテキストのみを抽出するものだと思っていたら <iframe から始まる場合はそのまま<iframe~と取ってきてしまいます。 これを回避する方法はありませんか? やはり取ったあとで<iframe~の部分を正規表現で取り除くしかないのでしょうか。 よろしくおねがいします。

みんなの回答

  • cero_d
  • ベストアンサー率87% (14/16)
回答No.2

iframe内に <div id="test">aaaaa</div> があるとしたらこれで取れます。 $('iframe').contents().find('#test').text();

回答No.1

><iframe から始まる場合はそのまま<iframe~と取ってきてしまいます。 そんなはずありません。こちらで試してもテキストのみを返してきました。 JSとHTMLのソースが必要ですね。

関連するQ&A

  • HTMLタグの中味抽出

    HTMLのタグの中味を抽出する正規表現として、以下の形を学びました。 [^<]+?(?=>) この正規表現で以下のHTML文を処理すると、 <tag_nakami_1><tag_nakami_2>title_text</tag_nakami_1></tag_nakami_2> 以下の結果が出ました。 tag_nakami_1 tag_nakami_2 /tag_nakami_1 /tag_nakami_2 ですが、なぜ、「title_text」の部分がうまく取り除かれたのかがわかりません。 <tag_nakami_1><tag_nakami_2> まで処理がすんで、次は title_text</tag_nakami_1> が処理対象の文字列となるのでは無いでしょうか?その場合、末尾の > より前の部分、title_text</tag_nakami_1 から < のみが除かれた文字列、title_text/tag_nakami_1 が抽出される、つまり以下のような結果が出そうに思えます。 tag_nakami_1 tag_nakami_2 title_text/tag_nakami_1 /tag_nakami_2 ですが実際はそうなりません。 これはなぜなのでしょうか……。

  • iframeでutf-8の.txtを呼び出す。

    HTMLのIframeで、文字コードがUTF-8であるテキストファイル(.txt)を呼び出す。(文字化け?) HTMLのIframeで、文字コードがUTF-8であるテキストファイル(.txt)を呼び出す時に、 内容が文字化けするので困っています。 表記に間違いがあるかもしれませんが、宜しくお願いします>< あと一応確認しましたが万が一既出でしたら申し訳ありません。 <iframe src=~>では、拡張子.htmlのファイルに加えて.txtファイルも呼び出せます。 .htmlファイルの場合、METAタグを使い、内側のHTML内で文字コードを指定しておけば 文字化けは起きないのですが、 txtファイルではそのような指定ができません。 外側(iframeを記述する方)から内側(src=~の呼び出し先)に向かって文字コードを 指定するのは可能ですか? 又はその他によい方法がありますか・・・?? 宜しくお願いしますm(_ _)m

    • ベストアンサー
    • HTML
  • VBAを使ってHTMLソースから特定の文字列を抽出したいと思っています

    VBAを使ってHTMLソースから特定の文字列を抽出したいと思っています。 正規表現を利用してタグに挟まれた文字を抽出したいのですがうまくいきません。 タグごと抽出する方法でも構わないので教えてください。 例えば <a href="www.yahoo.com△">○○○</a>   ・・・<1> ※△は(www.yahoo.com)+(半角数字1文字) ※○○○は1文字以上の全角文字 このようなパターンの文字列(<1>を丸ごと)を抜き出すには どのような正規表現を書けばよいでしょうか? 単に<a href ではじまって </a>  で終わる文字列であれば <a href.*</a> で良いと思うのですが、もう少し範囲を絞れば目的の文字列だけを抽出できるので ぜひ実現させたいと思っています。宜しくお願いします。

  • フォームで受け取った文字列から

    HTMLタグを取り除くための正規表現はどうするのでしょうか? $xを文字列とすると $x=~s/?/?/? の?部分を教えてください

    • ベストアンサー
    • Perl
  • RubyのHTMLパーサーで複数のタグを抽出したい

    現在、Rubyを用いて あるWebページから特定のタグの要素を抽出して テキストデータに出力したいと思い、プログラムを書いているのですが、 途中で行き詰ってしまいました。 ちなみにHpricotやNokogiriといったHTMLパーサーを試してみました。 パーサーを使うのは初めてです。 例えば以下のようにHTML文書に抽出したい部分がDIVタグとPタグに囲まれていた場合、 ===================================== ・・・ <div class="content"> <div class="header">不要部分</div> <div class="title">抽出したい文字列1</div> <div class="subtitle">抽出したい文字列2</div> <div class="subtitle">抽出したい文字列3</div> <p class="paragraph">抽出したい文字列4</p> <p class="paragraph">抽出したい文字列5</p> <div class="comment">抽出したい文字列6</div> <div class="footer">不要部分</div> </div> ・・・ ===================================== このHTMLからまずは 抽出したい文字列1 抽出したい文字列2 抽出したい文字列3 抽出したい文字列4 抽出したい文字列5 抽出したい文字列6 といった出力が得たいのです。 プログラムも書いてみました。 ===================================== #ドキュメント全体を取得(dataにはHTMLの文字列が入っている) html = Hpricot(data) #内容部分(contentクラスのdiv)を取得(CSSセレクタで記述) content = html/"div.content" ===================================== ここまでは良いのですが、 そのあと、div要素を取り出すだけであれば headerクラスと、footerクラスを抽出しないように ===================================== (content/"div:not(.header):not(.footer)").each{ |line| puts line.inner_html } ===================================== とすることで、 抽出したい文字列1 抽出したい文字列2 抽出したい文字列3 抽出したい文字列6 が得られますが、pタグをカンマでdivの前に追加して ===================================== (content/"p,div:not(.header):not(.footer)").each{ |line| puts line.inner_html } ===================================== のようにすると、 抽出したい文字列4 抽出したい文字列5 抽出したい文字列1 抽出したい文字列2 抽出したい文字列3 抽出したい文字列6 のように出力されます。 同様にdivの後にpを追加し ===================================== (content/"div:not(.header):not(.footer),p").each{ |line| puts line.inner_text } ===================================== のようにすると 抽出したい文字列1 抽出したい文字列2 抽出したい文字列3 抽出したい文字列6 抽出したい文字列4 抽出したい文字列5 のようになってしまいます。 つまり、複数のタグを指定すると、指定した順序で抽出されるようです。 代わりに子供すべてを列挙するchildのようなものがあるかと、調べてみたのですが、 どうやらそのような書き方はないようです。 複数のタグを含む場合にはHTMLパーサーでは解析できないのでしょうか。 パーサーは抽出時に順番を保証はしてくれないのでしょうか。 あきらめて、正規表現で抽出しようと思いましたが、 ===================================== <div class="comment"> <div class="comment_header">ごちゃごちゃ</div> <div class="comment_body">抽出したい要素6</div> </div> ===================================== などDIVが入れ子となっている場合に、 非常にややこしく感じたので お手上げ状態です。 どのように、解決できるでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Ruby
  • phpのHTMLからのRSS linkタグ抽出

    こんにちは phpを使ってrssを配信している サイトのhtmlデータを取得し、 rssのリンクが書いてある<link>タグを抽出しようとしています。 preg_matchなどを使った抽出の時に使っている正規表現は一応、 |.*<link rel=[\"\']alternate[\"\'](.*rss.*xml.*)?>|s なのですが、上記のrss xmlという文字列の順序や、 rssのバージョンを考えずに取得できる方法、 タグ内の他の属性値、属性値の順序など、 人によって書き方が異なり、 取得が難しいです。 これ以外の、より簡単な取得方法や、抽出におけるよい正規表現を知っておられる方、 どうか抽出方法を教えていただけませんでしょうか?

  • マウスクリックした地点のテキストを読み込みたい

    マウスクリックした地点(X,Y座標)に表示されている文字を取得したいのですが、何か方法はありますでしょうか? 文字がないところや画像の場合は何も取得できなくても構いません。 特定のタグで囲まれている文字ではなく、BODY の中で特にタグに囲まれていないテキストを取得したいのです。 単なる文字が取得できるだけでも良いのですが、文章や段落も特定したいので、できれば、HTML中の何文字目なのかということがわかるとありがたいのですが…

  • IFRAME内のソースを別のIFRAMEにコピーする方法

    ページ内に二つのIFRAMEがあります。 IFRAME-A IFRAME-B IFRAME-Aに表示されるページのHTMLを、IFRAM-Bにコピーする事は可能でしょうか? srcのlocationをコピーするのではなく、HTMLを文字列としてコピーして、IFRAME-Bにも同じ内容を表示したく考えています。 使用するブラウザはIE6/7/8となります。 よろしくお願いします。

  • iframe内から親ページに文字列追加

    サイト内でiframeを使っているのですが、iframe内のファイルを読み込んだとき、もしくはiframe内のリンクをクリックしたときに大元の親ページに文字列(リンク)を追加したいと考えています。 ・階層イメージ ([ ]内は内容)    index(親)[iframe(メイン)]          ↓      main(メイン) [iframe(子)(子へのリンクがある)]          ↓        child(子)[内容] 現在このようになっています。 childを読み込んだときか、mainの子へのリンクをクリックしたときにindexのほうに文字列(リンク)を追加したいのですが、どなたか方法をご存じの方はいらっしゃらないでしょうか? 当方はあまりHTMLには詳しいとは言えませんので、できれば具体的なタグなどで解説していただければありがたいです。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • PHP 正規表現 文字列抽出

    PHP 正規表現 文字列抽出のご質問です。 ある文字列の中から「○○%OFF」の○○の部分を抽出したいのですが。 分かる方いらっしゃったら、ご教授ください。

    • 締切済み
    • PHP

専門家に質問してみよう