• 締切済み

C# htmlの中からaltの中身だけを抜きだす

C#での質問です。 とあるウェブページのhtmlの中から、そのhtmlに存在する全てのaltタグの中身のテキストだけを取り出し、その文字数をカウントしたいと考えております。 <img src="http://test" alt="AAA">あいうえお<img src="http://test" alt="BBB"> 例えば、上記のようなHTMLソースがあったとしら、altの中身は合計で「AAABBB」の6文字になりますが、この「6」という数値を導きたいということです。 分かるかたがいらっしゃいましたら、ぜひご享受くださいm(__)m

みんなの回答

  • mk48a
  • ベストアンサー率56% (1133/2007)
回答No.3

1行ごとにalt="の位置を検索して次の”の位置までの文字数をカウントする。 検索はstring.IndexOf()でできます。 先頭座標が取得されるのでalt="の文字数分だけずらしてやります。 これで1行の文字数が取得できるので、すべての行の文字数を取得して足しあわせるだけです。 文字数の取得は正規表現を使うと簡潔に記述できるかもしれません。

wakaminmin
質問者

お礼

なんとか正規表現でやれそうな感じがします。 ありがとうございました。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

余計なことかもしれんけど, それ「タグ」じゃないからね.

wakaminmin
質問者

お礼

そうなんですね。ありがとうございました。

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.1

HtmlDocumentクラスのメソッドとか使えばおそらく取れるとは思われますが……。 >altの中身は合計で「AAABBB」の6文字になりますが、この「6」という数値を導きたいということです。 「AAああああ」の場合は何文字になるんでしょう?

wakaminmin
質問者

補足

回答ありがとうございます。 その場合も6文字としてカウントするようにしたいと思っています。

関連するQ&A

  • 「&」を「&amp;」と書くべきなのは

    「&」を「&amp;」と書くべきなのは、 タグの中に&を使いたいときだけですか? <img alt="aaa&bbb" src="test.jpg"> のようなときだけ、 <img alt="aaa&amp;bbb" src="test.jpg"> とすればいいのでしょうか? タグの外で&を使いたいときは、&amp;二はしなくていいのですか?

    • ベストアンサー
    • HTML
  • ALT属性に見出しタグをつけると画像がズレます。

    見出しタグをHTMLで製作後、画像とALT属性に採用すると 画像がずれてしまいます。 <img src="images/img6.jpg" alt="●●●●●●●●●●●●" width="745" height="511"> を <h2><img src="images/img6.jpg" alt="●●●●●●●●●●●●" width="745" height="511"> </h2> 以下のコーディングにすると画像がずれます。 HTMLバージョンは、DTD HTML 4.01 Transitional となります。 CSSなどで画像の位置固定をするのではなく、そのままHTML内で完結したいと考えています。 どのように変えれば良いでしょうか また、alignタグなどは、HTML4.01非推奨で使えません。 バグで探したのですが見付かりませんでした。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • cssのマージン

    <div class="aaa">文字文字<br> <img src="画像1" alt="">文字文字文字<br> 文字文字<br> <img src="画像2" alt="" class="bbb">文字文字<br> 文字文字</div> div.aaa img { margin-left:3px; } としています。 .bbb { margin-left:0px; } 画像1では3pxあけて 画像2ではマージンを0にしたいのですが 画像2の方も3pxあいてしまいます。 どうすればclassをきかせることができるのでしょうか?

    • ベストアンサー
    • HTML
  • いつもお世話になっております。

    いつもお世話になっております。 rubyで分からないことがあります。 ご存知の方がおられましたら、ご教授お願い致します。 【質問】 以下の文字列があるとします。 (文字列) <!-- Advertiser 'XXX', Include user in segment 'test' - AAA -->\n<img src=\"BBB\" width=\"1\" height=\"1\" />\n<!-- End of segment tag -->\n<!-- Advertiser 'XXX', Exclude user from segment 'test' - AAA -->\n<img src=\"CCC\" width=\"1\" height=\"1\" />\n<!-- End of segment tag --> この文字列を以下の様に変数1、変数2に入れたいのですが、 どのようにプログラムを記述すればよいでしょうか? (変数1の内容) <!-- Advertiser 'XXX', Include user in segment 'test' - AAA -->\n<img src=\"BBB\" width=\"1\" height=\"1\" />\n<!-- End of segment tag --> (変数2の内容) <!-- Advertiser 'XXX', Exclude user from segment 'test' - AAA -->\n<img src=\"CCC\" width=\"1\" height=\"1\" />\n<!-- End of segment tag -->

    • ベストアンサー
    • Ruby
  • ブラウザ上で「代替テキスト(alt)」を大きく表示したいのですが、どうすれば??

    ブラウザ上で「代替テキスト(alt)」を大きく表示したいのですが、どうすれば?? HTMLタグの中で、画像の代替テキスト「alt」についての質問です。 <img src="△△△△" alt="○○○○○○">でコーディングさせた場合、ブラウザ上で表示される「○○○○○○」の代替テキストの文字の大きさを「大きく」したいんですが、何か方法はありますでしょうか? スタイルシートで色々試そうとしたのですが、どうも上手くいかなくて困ってます… Windows XP、IE6.0でブラウザ確認してます。 HTML上、あるいはCSS上で制御したいと思っていますが、よろしくお願いします。

  • Javaの正規表現でimgタグのaltとプレーンテキストのみを抜き出し

    Javaの正規表現でimgタグのaltとプレーンテキストのみを抜き出したいと思っています。 例えば、 <img src="image.jpg" alt="イメージ" />テキスト <img src="image.jpg" alt="イメージ" class="imgclass" />テキスト <img alt="イメージ" src="image.jpg" />テキスト は、全て「イメージテキスト」になるようにしたいのです。 imgタグが入っていない場合や、プレーンテキストの後ろにimgタグがある場合、 プレーンテキストにimgタグがはさまれている場合、imgタグが複数ある場合など 汎用的に対応したいのですがうまくできず… アドバイスいただけると助かります。

  • <img alt="文字" ~

    <img alt="文字" ~ とした場合、画像が表示されない場合には、altで指定した文字が表示されるのですよね? そのはずが、 <img alt="文字1" ~ <img alt="文字2" ~ <img alt="文字3" ~ というタグで、画像をまだアップロードしていないから、画像が表示されないのですが、 なぜか実際にブラウザで表示されるページを見ると <img alt="文字1" ~ <img alt="文字2" ~は何も文字が表示されずに、 <img alt="文字3" ~だけが指定した文字が表示されます。 3つとも、画像が途切れたアイコンが表示されます。 同じ条件なのに、なぜ文字3しか、文字は表示されないのでしょうか?

    • ベストアンサー
    • HTML
  • <img>タグの alt= の値をキャプションに

    初心者を抜け出そうとしている者です。 画像の下にキャプションを付けたいのですが、 alt= の値を利用しようと思っています。 下記のようなスクリプトで実現できる方法はあるのでしょうか? <html> <head> <script type="text/javascript"> <!--   window.onload = function() {     var list = document.getElementsByTagName('img');          for (var i=0; i < list.length; i++) {       /* ココで、それぞれの<img> の alt=の値を取り出し、         それぞれの<img>の直後に、         '<br><span> alt の値 </span>' を挿入したい        */     }   } //--> </script> </head> <body> <h1>テスト IMGタグの後に文字列出力</h1> <img src="../images/logo1.gif" alt="Logo1" /> <img src="../images/logo2.gif" alt="Logo2" /> </body> </html> ※ 上記インデントは全角スペースで書いております。 上のような方法以外でもかまいませんので、 スクリプト例を書いていただけると嬉しいです。 よろしくお願いします。

  • 正規表現 画像リンクのaltの取得

    正規表現 画像リンクのaltの取得 正規表現初心者です。 PHPでHTMLからリンクが設定された画像の alt とリンク先URLを取得するパターン作成に悪戦苦闘しています。 やりたいこと ページ上の画像(<img>)のalt のテキストを取得する。 ただし<img>タグはアンカー<a></a>で囲まれたリンクが設定されているもののみ。 要はリンクURLとaltテキストの組み合わせリストを作成することを目的としています。 ためしたこと 検索(PHPのpreg_match_allで)以下のパターンで取得を試みました。 #<a\s[^>]*?href\s?=\s?[\"\'](.*?)[\"\'].*?><img\s[^>]*?alt\s?=\s?[\"\'](.*?)[\"\'][^>]*?>#i このパターンで実行した場合.*?の指定があだとなったようで範囲が拡大され、たとえば以下のようなパターンにもヒットししまいます。 <a href="aaa">bbb</a><a href="ccc"><img alt="ddd"></img></a> これだと URL "aaa" に対するaltテキストが"ddd"という結果がになってしまい事実との矛盾が生じます。 勉強不足で恐縮ですが、アドバイスいただければ幸いです。よろしくお願いします。

    • ベストアンサー
    • PHP
  • HTMLのタグ内をすべて大文字・小文字に変換

     Windowsのフリーソフトで、HTMLのタグだけに限定して大文字・小文字に変換できるソフトってありますか?  例えば、大文字に変換させたいなら、 <img src="image/image.gif" alt="イラストです。" width=100 height=100>  というタグを <IMG SRC="image/image.gif" ALT="イラストです。" WIDTH=100 HEIGHT=100>  というように変換させたいのです。URLなどは変換せずに、あくまでタグだけです。  作っているページが統一性無いため、全部統一させたいので……  そういった機能のついたソフトはないでしょうか。出来れば、レジストリをいじらないものがいいです。  よろしく、お願いします。

専門家に質問してみよう