指定したURIのソースコードの<title>タグで囲まれた値を取得する方法(php初心者)

このQ&Aのポイント
  • 指定したURIのソースコードで<title>タグで囲まれた値を取得する方法を教えてください。
  • PHPを使用して、指定したURIのソースコードから<title>タグで囲まれた値を取得する方法を知りたいです。
  • 500個のサイト内リンクを動的に生成するために、PHPを使用して、指定したURIのソースコードの<title>タグで囲まれた値を取得する方法を教えてください。
回答を見る
  • ベストアンサー

指定したURIを参照して、ソースコードの<title>タグで囲まれた値を返すにはどうすればよいのでしょうか。

php初心者です。 指定したURIを参照して、ソースコードの<title>タグで囲まれた値を返すにはどうすればよいのでしょうか。 <a href="sample_00.htm"></a> <a href="sample_01.htm"></a> <a href="sample_02.htm"></a> <a href="sample_03.htm"></a> というコードが用意されているのですが、これをphpを使って <a href="sample_00.htm">sample_00.htmのソースのtitle</a> <a href="sample_01.htm">sample_01.htmのソースのtitle</a> <a href="sample_02.htm">sample_02.htmのソースのtitle</a> <a href="sample_03.htm">sample_03.htmのソースのtitle</a> のようなhtmlコードを吐き出すようにしたいのです。 <a></a>に、各々のページの<title></title>タグで囲まれた文字列 を挿入したいのですが、phpでどのように命令すればよいのでしょうか? 500くらいサイト内リンクを書きたくて、動的にやろうと思ったのですが、勝手がわかりません。 どなたか、お時間があれば教えていただけないでしょうか。

  • PHP
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>動的にやろう 数量的にはかなり無理がありそうです。 基本は静的に管理し定期的に更新をかけるのが賢明かと。 やりかたとしては以下のような感じでしょうか。 1.正規表現で対象URLを得る。 2.pearのhttp_requestあたりでヘッダを入手。 エラーのものを除外 http://pear.php.net/manual/ja/package.http.http-request.php 3.ヘッダーが正常に返ってくるもののHTMLを入手。 4.正規表現でタイトルを抜く

uremindme
質問者

お礼

お返事が遅れたことをお許しください。大変勉強になりました。 ありがとうございます。このように書けました。 <?php require_once "HTTP/Request.php"; $req =& new HTTP_Request("hogehoge.html"); if (!PEAR::isError($req->sendRequest())) { $body = $req->getResponseBody(); } $i = strpos($body,"<TITLE>") + 7; $j = strpos($body,"</TITLE>"); $str = substr($body, $i, $j - $i); echo $str; ?>

関連するQ&A

  • 文字参照「#」を含むURI 正しくない?

    アンカータグなどでCGIへのリンクを指定するとき、 xxx.cgi?param1=aaa&param2=bbb などというURIの場合、そのままHTML内に書くと「&」記号が文法エラーになるので、「&amp;」などに置き換えますよね。 これを、汎用的なモジュールや適当なサブルーチンを使って、記号などを一括で「&#38;」のような文字参照に置き換えています。 ところが、 xxx.cgi?param1=aaa&param2=bbb#name のように(パラメーターではなく)アンカー名が入っていると「#」記号が「&#35;」に置き換えられるのですが、Another HTML-lint でチェックしてみると、この部分が正しくないと警告されてしまいます。 -------------- <A> の HREF 属性の URI 中の実体参照 `&#35;` は使用できない文字 `#` です。 -------------- 単純に、実体参照はデコードしてから評価し、#記号はURIとして認められるように思うのですが、違うのでしょうか。 「#記号はURIとして認められる」という私の認識自体は間違っていないと思うのですが、なぜ実体参照にするとNGなのでしょう。「実体参照はデコードしてから評価」という認識が、間違っていますか? どなたか、ご教授お願いいたします。 (※ 文中の「&」記号が、ここに投稿するとなぜか化けるので全角にしてあります)

    • ベストアンサー
    • HTML
  • ソースコードを1行にして保存してありますが、どのように行っているのでしょうか?

    こんにちは。 最近またPHPで色々作っているのですが、参考になるPHPを見つけると手本にさせて頂いております。 しかし、たまにですが、ソースコードが改行されずに1行で保存されているプログラムがあります。 まさかコードを記述しているところから1行で記述したとは思えませんし、デバッグを考えれば元に戻す必要性もあるように思えます。 このようなプログラムはどのようにして1行で保存しているのでしょうか? また元に戻す方法はあるのでしょうか? 下記にclassの改行やタブを削除したサンプルを記述します。 よろしくお願いいたします。 ************サンプル************ <?php class breadCrumb{function simple($path = null, $page_title = "Current Page"){$pathArray = explode("/",dirname($path));if(!isset($root_url)) $root_url = "";$code = '<p id="breadCrumb"><a href="'.$root_url.'/" title="Home Page">Home</a> &gt;&gt; ';$newPath = $root_url."/";for($i = 1;$i < count($pathArray);$i++){$printxt = ucwords($pathArray[$i]);$newPath .= $pathArray[$i].'/';$code .= '<a href="'.$newPath.'">'.$printxt.'</a> &gt;&gt; ';}$code .= '<em>'.$page_title.'</em></p>'."\n";if($path != "/")return $code;}} ?>

    • ベストアンサー
    • PHP
  • ソースコードをコピペするときに便利なツール?

    ホームページでよくプログラムとかのサンプルコードを解説している方がいらっしゃいます。 例えば、こんなページです。 http://www.webopixel.net/wordpress/637.html このページの ------------------------------------- custom-meta-table.php ------------------------------------- <?php /* Plugin Name: Custom Meta Table Plugin URI: http://www.webopixel.net/ ・・・・ ------------------------------------ とかのソースの部分に行数を付けたり、印刷やクリップボードへコピーなどの ボタンが付いているところが、すごく便利だと思って私もやってみたいのですが、、、 なにか便利なツールとか使っているのでしょうか? お教え下さい。

    • ベストアンサー
    • PHP
  • ソースコード(リンクタグ)の修正&補正

    <a href="http://www.formpro.jp/form.php?fid=31544" target="_blank"><img src="お問い合わせ" border="0"></a> 上記コード(リンクタグ)をブログに貼ったら [x]・・・こんなタグが出来て失敗。 作りたいものは 『お問い合わせ』と言うタグを貼る。(しかもクリックすればhttp://www.formpro.jp/form.php?fid=31544 と言うページにアクセスする仕組み)でした。 質問:どう直せば良いでしょうか?

  • Ajax.Requestで取得したHTMLソースから'href'の値を

    Ajax.Requestで取得したHTMLソースから'href'の値を取得する方法について Javascriptにて取得した別ページのHTMLタグから 必要な部分のみ値を取得し、配列に格納することは可能でしょうか? 以下Javascript ------ var url = "http://test/index.htm"; new Ajax.Request( url, { "method":"get", asynchronous:false, onComplete: function(request) { html = request.responseText; } } ); alert(html); ------ 以下"http://test/index.htm"のHTMLタグ ------ <html> <head> </head> <body> <a href='http://test/index2.htm'>index2</a> <a href='http://test/index3.htm'>index3</a> <div>index4</div> </body> </html> ------ 上記で"http://test/index.htm"のHTMLタグの全てを取得して出力することはできたのですが、 "href"の"http://test/index2.htm" "href"の"http://test/index3.htm"のみ配列に格納したいのです。 よろしくお願いいたします。

    • ベストアンサー
    • AJAX
  • <FONT TITLE=××>というタグ

    GOOGLEなどのサーチエンジンに引っ掛けるコツとして <FONT TITLE=××>というタグを多用しているサイトを見かけました。 TITLE属性というのは 文書ファイルのタイトルか、  あるいは <A HREF TITLE=××> などの場合使うのかと思っていたのですが、 <FONT TITLE=××> というタグもあるのでしょうか? またこのようなタグを使うことで サーチエンジン対策にはなりますでしょうか?  

    • ベストアンサー
    • HTML
  • ASPソースコードをPHPソースコードに書き換え

    下記のASPソースコードをPHPソースコードに書き換えようとしています。 <% Set ObjConn = Server.CreateObject("ADODB.Connection") ObjConn.Open "database_1" Set ObjRS = Server.CreateObject("ADODB.Recordset") ObjRS.Open "food", ObjConn, 3, 3 ObjRS.Filter = "jewelry_0_ID=" & Request.QueryString("No") If ObjRS.EOF Then Response.Write("選択された名称の区分はありません。<br><hr>") Response.Write("<a href=""index.html"">区分選択に戻る</a>") Response.End End If Do While Not ObjRS.EOF Response.Write("<tr><td>") Response.Write(ObjRS.Fields("名称").Value) Response.Write("</td><td>") ObjRS.MoveNext Loop ObjRS.Close ObjConn.Close %> PHPに不慣れであるため、このうち、 Set ObjRS = Server.CreateObject("ADODB.Recordset") ObjRS.Open "jewelry", ObjConn, 3, 3 ObjRS.Filter = "jewelry_0_ID=" & Request.QueryString("No") と、 ObjRS.Close をどのようにすればよいか、分かりません。PHPには、レコードセットを開くという概念はないのでしょうか?下記URIには、見当たりません。 http://php.plus-server.net/ref.uodbc.html

    • ベストアンサー
    • PHP
  • C#の指定したタグ要素を削除

    C#のRemoveChildメソッドを使用して、指定したタグ要素を削除したいです。 下記サイトのサンプルコードを見ると、タグ<zip></zip>で囲まれている箇所を削除していますが、例えばタグ<zip id="aaaaa"></zip>のようにIDがついている場合も削除することが可能でしょうか? ※IDは毎回変わります また不可能な場合、可能となる方法についてご教示頂きたいです。 サンプルコード http://hiros-dot.net/CS2005/XML/DOM/DOM18.htm

  • ソースコード再利用のための補助ツールについておしえてください

    プログラム作成にあたり或る機能を実装する場合に 「以前同じようなコードを書いたけどでれだったかな」 ということがよくあります。 マイクロソフトのVisualBasic2005にはコードスニペット という機能が内蔵されており、これはメニューから実現し たい処理を選択するだけでサンプルコードが挿入されると いうものらしいです。 これはVBに限った機能ですが、こんな風にソースコード を処理の内容などで分類して登録しておき、あとで必要に 応じて参照できるようなツールをご存知ないでしょうか? p.s. ここ最近つながりにくいですね。なかなか投稿でません(涙)

  • ■divにid指定して子供タグに適応(ソース付)

    みなさん、よろしくお願いします。 上の段と下の段を表示上同じ結果にしたいと思います。 現在、上の段のようにdivタグ以下の全てのタグに、GrayMojiを 指定しています。 本番のソースでは、これが大量にあるので、簡潔に書きたいと思っています。 そこで、下の段のように、1つだけidを指定しただけで、divタグに含まれている 全タグにGrayMojiを適応させたいと思っています。 でも、このソースでは、同じ結果が得られません。 どのようにすれば、良いかアドバイスをいただけないでしょうか。 <!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"> <head> <style type="text/css"> <!-- a:link{ color: #0033EE;} #GrayMoji {color: #666666;} --> </style> </head> <body> <div> <a id="GrayMoji" href="main/about.html">div-AタグClass</a> <p id="GrayMoji">div-pタグClass</p> </div> ------------------------------------ <div id="GrayMoji"> <a href="main/about.html">divタグClass-A</a> <p>divタグClass-p</p> </div> </body> </html>

    • ベストアンサー
    • HTML

専門家に質問してみよう