• 締切済み

特定タグの文字を抽出するには

以下の内容が$mojiに入っています。(htmlをgetした物) --- ・・・前省略・・・ <tr> <td nowrap> 2006-2-4 </td> <td>   芸能人A </td> <td><a href="/hoge/020492">題名A</a></td> <td>50 MB</td> <td> <span> <img border="0" src="http://hoge.com/hoge.gif"></span> </td> <td style="color: blue;">&nbsp;</td> </tr> ・・・上記の内容が同じように繰り返す・・・ --- この文字列から配列に human["芸能人A"]="題名A" human["芸能人B"]="題名B"    ・・・ と自動生成したいと思っています。 ポイントは必ず<tr></tr>の間に入っている事とその間のタグ・文言の並び順は常に同じです。 ですが、$mojiのヘッダとフッタにはhtml特有の文言が含まれています。 こんな事ってできるのでしょうか?ご存知の方、教えてください。

みんなの回答

  • cybert
  • ベストアンサー率56% (18/32)
回答No.1

正規表現で取り出しましょう。 http://jp.php.net/manual/ja/ref.pcre.php

goroneko-begin
質問者

補足

正規表現で取り出す方法は私も検討したのですが、具体的に取り出す正規表現がよくわかりません。甘えているかもしれませんが、具体的にご教授いただけると幸いです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • マウスオーバーで複数の画像を切り替える

    こんにちわ、お知恵を拝借させて下さい。 1週間以上探していますが、なかなか答えに結びつきません。 現在下記の内容で<div id="photoAlbum"></div>内の二つの画像の同時切替を行なおうとおもっております。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title></title> <script type="text/javascript" src="main.js"></script> </head> <body> <table width="570"> <tr> <td><div id="photoAlbum"><img src="19.jpg" width="280" height="280"><img src="19pt01.jpg" width="280" height="280"></div></td> </tr> <tr> <td align="center"><img src="19.jpg" width="80" height="80" id="changeButton1">&nbsp;<img src="26.jpg" width="80" height="80" id="changeButton2">&nbsp;<img src="33.jpg" width="80" height="80" id="changeButton3">&nbsp;<img src="40.jpg" width="80" height="80" id="changeButton4">&nbsp;<img src="57.jpg" width="80" height="80" id="changeButton5">&nbsp;<img src="64.jpg" width="80" height="80" id="changeButton6"></td></tr> <tr> <td align="center">&nbsp;</td> </tr> <tr> <td><table width="438" border=0 cellpadding=3 cellspacing=1 bgcolor="#999999" style="FONT-SIZE: 9pt; LINE-HEIGHT: 100%"> <tr bgcolor=#e6e6e6> <td width="30%" nowrap><SPAN style="FONT-SIZE: 8pt">&nbsp;JAN</SPAN></td> <td width="46%" nowrap><SPAN style="FONT-SIZE: 8pt">&nbsp;型番</SPAN></td> <td width="24%" nowrap><SPAN style="FONT-SIZE: 8pt">&nbsp;カラー</SPAN></td> </tr> <tr bgcolor=#ffffff> <td><SPAN>&nbsp;19</SPAN></td> <td><SPAN>&nbsp;BK</SPAN></td> <td><SPAN>&nbsp;<a href="#" id="changeButton7">ブラック</a></SPAN></td> </tr> <tr bgcolor=#ffffff> <td><SPAN>&nbsp;26</SPAN></td> <td><SPAN>&nbsp;GY</SPAN></td> <td><SPAN>&nbsp;<a href="#" id="changeButton8">グレー</a></SPAN></td> </tr> <tr bgcolor=#ffffff> <td><SPAN>&nbsp;33</SPAN></td> <td><SPAN>&nbsp;NV</SPAN></td> <td><SPAN>&nbsp;<a href="#" id="changeButton9">ネイビー</a></SPAN></td> </tr> <tr bgcolor=#ffffff> <td><SPAN>&nbsp;40</SPAN></td> <td><SPAN>&nbsp;GR</SPAN></td> <td><SPAN>&nbsp;<a href="#" id="changeButton10">グリーン</a></SPAN></td> </tr> <tr bgcolor=#ffffff> <td><SPAN>&nbsp;57</SPAN></td> <td><SPAN>&nbsp;OR</SPAN></td> <td><SPAN>&nbsp;<a href="#" id="changeButton11">オレンジ</a></SPAN></td> </tr> <tr bgcolor=#ffffff> <td><SPAN>&nbsp;64</SPAN></td> <td><SPAN>&nbsp;RD</SPAN></td> <td><SPAN>&nbsp;<a href="#" id="changeButton12">レッド</a></SPAN></td> </tr> </table></td> </tr> </table> </body> </html> ----------------------------- window.onload = function(){ document.getElementById("changeButton1").onmouseover = function() { album2.change(["19.jpg","19pt01.jpg"]); } document.getElementById("changeButton2").onmouseover = function() { album2.change(["26.jpg","26pt01.jpg"]); } ~中略~ document.getElementById("changeButton12").onmouseover = function() { album3.change(["64.jpg","64pt01.jpg"]); } } var album2 = { change : function(imageArray){ var imgTag = document.getElementById("photoAlbum").getElementsByTagName("img"); for (var i=1; i<imgTag.length; i++){ imgTag[i].src = imageArray[i]; } var album3 = { change : function(imageArray){ var imgTag = document.getElementById("photoAlbum.mainbody").getElementsByTagName("img"); for (var i=1; i<imgTag.length; i++){ imgTag[i].src = imageArray[i]; } } } ---------------------------- 上記内容で試していますが、changeButton7~12が入っているテーブルを削除すると動作するのですが、この状態ではどうしても動作させることができません。 何か、良い方法はないでしょうか

  • 次のテーブルで

    <table border=1> <caption nowrap align=left> あいうえおかきくけこ<br/> </caption> <tr><td nowrap colspan=3>abc</td></tr> <tr><td nowrap>A</td><td nowrap>B</td><td nowrap>C</td></tr> <tr><td nowrap>A</td><td nowrap>B</td><td nowrap>C</td></tr> <tr><td nowrap>A</td><td nowrap>B</td><td nowrap>C</td></tr> <tr><td nowrap colspan=3 height=15></td></tr> <tr><td nowrap colspan=3>abc</td></tr> <tr><td nowrap>A</td><td nowrap>B</td><td nowrap>C</td></tr> <tr><td nowrap>A</td><td nowrap>B</td><td nowrap>C</td></tr> </table> "あいうえおかきくけこ" が折り返されてしまいます 折り返さずにしかもそのサイズにテーブルを広げる方法はないでしょうか?

    • ベストアンサー
    • HTML
  • tableタグ内で、空白セルでも罫線を表示させられるためのタグは

    次のように、1行×5列のテーブルがあります。 <html><body> <table border="1"> <tr> <td>1</td> <td></td> <td> </td> <td> </td> <td>&nbsp;</td> </tr> </table> </body></html> 1列目:文字列 1 2列目:未記入 3列目:半角スペース 4列目:全角スペース 5列目:文字実体参照の&nbsp; 2列目と3列目だけ、罫線が表示されないですが(セルがつぶれてみえる) わざわざ&nbsp;とかで<td>と</td>の間を埋めなくても、 罫線を明示的に表示させられるタグがあったと思いましたが、何だったでしょうか。

    • ベストアンサー
    • HTML
  • フォントや文字サイズを変えるタグを教えて下さい

    「AmigoNewsBoard」というCGIを設置したんですが、タイトルや本文などのフォントが明朝体になっていて文字サイズもちょっと小さいので変更したいんですが、どこをいじれば良いか分かりますか? # =====================記事デザイン設定======================== ########################### # 記事1件分のデザイン # ########################### sub _Html_List{ print <<EOM; <TABLE width="100%" cellPadding=0 cellSpacing=0> <TR><TD class="Title">&nbsp;<FONT class="List">■</FONT>$VD[$REC{Title}]</TD></TR> <TR><TD class="Status">&nbsp;No: $VD[$REC{DataNum}] /&nbsp;Genre: $GENRE{$VD[$REC{Genre}]}[0]&nbsp;/&nbsp;Date: $VD[$REC{Rtime}]</TD></TR></TABLE><BR> <BLOCKQUOTE class="Comment">$VD[$REC{Comment}]<BR><BR><A href="$VD[$REC{Url}]">$VD[$REC{Url}]</A></BLOCKQUOTE> EOM } ##################################### # 記事1件分のデザイン(検索結果) # ##################################### sub _Html_Search{ print <<EOM; <TABLE width="100%" cellPadding=0 cellSpacing=0> <TR><TD class="Title">&nbsp;<FONT class="List">■</FONT>$VD[$REC{Title}]</TD></TR> <TR><TD class="Status">&nbsp;No: $VD[$REC{DataNum}] /&nbsp;Genre: $GENRE{$VD[$REC{Genre}]}[0]&nbsp;/&nbsp;Date: $VD[$REC{Rtime}]</TD></TR></TABLE><BR> <BLOCKQUOTE class="Comment">$VD[$REC{Comment}]<BR><BR><A href="$VD[$REC{Url}]">$VD[$REC{Url}]</A></BLOCKQUOTE> EOM } ======================================================= 《注意書き》 HTMLエディタ等で簡単にデザインが変更できますが、以下の点には注意して下さい。 1)下記4種の行は改変したり、行中にスペースや余分な文字を入れないようにして下さい。 ※HTMLエディタによっては自動構文エラー修正等により自動的に改変される場合がある為注意が必要です。その場合は下記4行を最初にテキストエディタ等でコメント行等に置き換えて編集終了後に再び元に戻して下さい。 print <<"<!---HTML--->"; &_*****; <!---HTML---> 1; 2) $***形式の部分はスクリプトが適切な文字列に置き換えるので削除/改変しないで下さい。 3) Tabスペース・全角スペースを使用せず、半角スペースを使用して下さい。 4) @という文字を入れる場合は\@として下さい。 5) 文字化けする場合は文字化けが始まった文字の後ろに\をつけて下さい。

    • ベストアンサー
    • CGI
  • テーブルが一行下がる・・・

    HTMLを作成していて、横一列に並べたいのに何故か一行下がってしまいます。 具体的には、 <TABLE width="50" border=1 align=left> <TBODY> <TR><TD noWrap align=middle>項目A</TD> <TR><TD noWrap align=middle Height=80><BR></TD></TR> </TBODY> </TABLE> <TABLE width="20" border=1 align=middle> <TBODY> <TR><TD noWrap align=middle>タイトル</TD></TR> </TBODY> </TABLE> <TABLE width="50" border=1 align=right> <TBODY> <TR><TD noWrap align=middle>項目B</TD></TR> <TR><TD noWrap align=middle Height=80><BR></TD></TR> </TBODY> というソースで、「項目A」→「タイトル」→「項目B」と横一線に並べたいのですが、何故か「項目B」が一行下がって表示されます・・・ HTMLを作るのは初めてで、色々と調べたのですがよく分かりませんでした・・・。 どなたか助けてください!! よろしくお願い致しますm(_ _)m

    • ベストアンサー
    • HTML
  • firefoxでchildNodesの代用

    お世話になります。 IEですと以下の記述で機能しますが、firefoxではchileNodesが使えません。 何か他に代用する方法はありませんでしょうか? element.parentNode.previousSibling.childNodes[0].innerHTML; 実際にやりたいこととしては id=p2のclickが押下された場合にp1、p3要素のinnerHTMLを取得したい。 <table> <tr> <td id="p1"><span><a href="#" onClick="click(this);">hoge1</a>ほげほげ1</span></td> <td id="p2"><span><a href="#" onClick="click(this);">hoge2</a>ほげほげ2</span></td> <td id="p3"><span><a href="#" onClick="click(this);">hoge3</a>ほげほげ3</span></td> </tr> </table> ご教授宜しくお願い致します。

  • tableの左側の色をCSSで一回で変えたい

    tableの左側の色をCSSで一回で変えたいのですが、どのようにするのが一番良いのでしょうか?現在はclassを使っています。 アドバイス宜しくお願いします。 <head> <style type="text/css"> <!-- table { height: 400px; width: 400px; } .tableleft { background-color: #FF0000; } --> </style> </head> <body> <table summary="ABCD" > <caption>ABCD</caption> <tr> <td class="tableleft">A</td> <td>B</td> <td>C</td> <td>D</td> </tr> <tr> <td class="tableleft">1</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> </tr> <tr> <td class="tableleft">2</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> </tr> <tr> <td class="tableleft">3</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> </tr> </table> </body>

    • ベストアンサー
    • HTML
  • tableタグで

    ┏━━━━━┓ ┃ ┏━┓ ┃ ┃A┃B┃C┃ ┃ ┗━┛ ┃ ┗━━━━━┛ 図のようなものをtableタグで作ろうと思い、 <table border> <td> A <table border> <td> B </td> </table> C </td> </table> としてみましたが、改行されてしまいます。 nowrapなども試みてみましたが、うまくいきません。 何か良い方法がありますでしょうか? (A、B、Cには文字列がはいります)

    • ベストアンサー
    • HTML
  • IEでFORMタグを入れると空白ができる

    IEだけなのですがFORMタグを入れるとTABLEとTABLEの間に空白ができます。 自分なりに切り分けをしたみたところ下記のような結果になりました。 1、XHTML1.0をHTML4.0に変更すると正常に表示 2、Firefoxで開くと正常に表示 3、FORMタグを外すと正常に表示 4、このhtmlファイルをローカル(自身のPC上)で表示すると正常に表示 (Webサーバにアップロードすると現象が現れる) ソースは以下の通りです <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <table border="0" width="800"><tr> <td><font color="#000080"><b>サブメニュー</b></font></td> <td width="20"></td> <td align="right"> <input type="button" value="戻る" onclick=window.open("http://www.xxxx.xxx/xxx.html","_top")> </td></tr></table> ※この間に空白ができます※ <table border="1" cellspacing="0" cellpadding="5" width="800"> <tr><th nowrap class="l" width="270">商品A</th> <th nowrap class="l" width="100">商品A</th> <th nowrap class="l" width="270">商品名B</th> <th nowrap class="l" width="100">商品B</th> <p></tr> <tr> <form action="./xxx.cgi" method="post" style="margin:0px"> <input type="hidden" name="view" value="0"> <input type="hidden" name="pick" value="0"> <input type="hidden" name="back" value=""> <td valign="top" width="270">あ</td> <td nowrap align="center" valign="top" width="100">あ</td></form> <form action="./xxx.cgi" method="post" style="margin:0px"> <input type="hidden" name="view" value="0"> <input type="hidden" name="pick" value="0"> <input type="hidden" name="back" value=""> <td valign="top" width="270">あ</td> <td nowrap align="center" valign="top" width="100">あ</td></form> </tr> <tr> <form action="./xxx.cgi" method="post" style="margin:0px"> <input type="hidden" name="view" value="0"> <input type="hidden" name="pick" value="0"> <input type="hidden" name="back" value=""> <td valign="top" width="270">あ</td> <td nowrap align="center" valign="top" width="100">あ</td></form> <form action="./xxx.cgi" method="post" style="margin:0px"> <input type="hidden" name="view" value="0"> <input type="hidden" name="pick" value="0"> <input type="hidden" name="back" value=""> <td valign="top" width="270">あ</td> <td nowrap align="center" valign="top" width="100">あ</td></form> </tr> </table> </p> </html> 実際にはもっと長い表になるのですが<tr></tr>を増やせば増やすほど空白が大きくなります。 どうすれば解消できるでしょうか ご存知の方がいらっしゃいましたらご教授願います。 いろいろなサイトを拝見して試してみましたが解決できないのでよろしくお願いします。

    • ベストアンサー
    • HTML
  • VBA:HTML から文字列を取得したい

    エクセルのVBAを使ってHTMLの操作をしようとしています。 実際のHTMLではなくて恐縮ですが、以下のようなテーブルがあります。 <tr class="hoge"> <td>ABC</td> <td>fuga</td> <td>piyo</td> <td>テキスト:いろは</td> <td>hogehoge</td> </tr> 四つ目のtd要素に含まれている文字列「いろは」で、目的のtr要素を特定し(「いろは」はHTML中一回しか使われません)、一つ目のtd要素にある「ABC」を取得して変数に収め、利用したいと考えています。 このクラス名「hoge」を用いたtr要素は複数あって、かつその並び順は新しいデータの更新・追加に従って変わるので、添え番で指定することが出来ません。 このとき、GetElementsByClassName でクラス名「hoge」のエレメントコレクションを取得するところまでは判りますが、その後どういった処理を行えば希望する結果が得られるか思いつきません。 どういう方法を使えばよいか、なんらかヒントをご教示頂ければ助かります。 なにとぞよろしくお願い致しますm(__)m

のぞき玉作り方について
このQ&Aのポイント
  • のぞき玉の作り方や写真の埋め込み方法について知りたいです。覗き玉がついているブレスレットを購入したけど、写真の埋め込み方法がわかりません。
  • 覗き玉が付いたブレスレットの画像の埋め込み方法が知りたいです。高画質の写真を縮小してはめ込めばいいのか、具体的なやり方を教えてください。
  • のぞき玉の作り方や写真の埋め込み方法に関して教えてください。3mm×3mm程度の高画質な画像を縮小する方法を知りたいです。ペイント機能を使ってもうまくいかなかったので、他の方法を教えてください。
回答を見る