• 締切済み

サイト名の自動取得

リンク集ページの構築をPHPで考えているのですが リンク先URLだけをあらかじめ設定しておいて サイト名は自動取得する事はできますか? できる場合、どういった記述になるのでしょうか?? ご教授お願いします。

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

みんなの回答

回答No.3

#2です。 > できました!ありがとうございましたー。 よかったです。 > 改行している場合はサイト名が取得できない そうですね。指定が無い場合は各行ごとに検索なので、正規表現のパターンにmをつけて複数行モードにすればOKです。 "/<title>(.+)<\/title>/mi" 参考まで。

oosaka2000
質問者

補足

ありがとうございます! mをつけ足しましたが取得できませんでした・・。 WEBアクセスは、file_get_contents関数を使っているのですが 何が原因でしょうか?? よろしくお願いします。

回答No.2

PHPからWEBアクセスの方法はたくさんあります。 比較的簡単なのはファイルシステム関数のfile、file_get_contents、fopen等を使います。 セッションやクッキーが必要な場合はcurl関数を使うと良いと思います。 取得したURL先のファイルを読込んで、preg、mb_ereg等の正規表現で<title></title>間を抽出します。 例 preg_match("/<title>(.+)<\/title>/i", $pagestr, $matches); 参考まで

oosaka2000
質問者

補足

できました!ありがとうございましたー。 しかし、下記のようにタイトルタグが改行している場合はサイト名が取得できないのですが こういった場合はどう対処すればよいのでしょうか・・・?? <取得できる例> <title>サイト名</title> <取得できない例> <title>サイト名 </title>

回答No.1

ヒントだけ示します。 ・PHPでそのURLにアクセスする。 ・<title>と</title>の間を抽出する。

oosaka2000
質問者

お礼

早々にヒントを頂きありがとうございましたー

関連するQ&A

  • 上位ディレクトリ名(フォルダ名)を取得するには?

    phpファイルが入っている、2階層上位のディレクトリ名(フォルダ名)を取得したいと思っています。 例 http://~.com/aaa/bbb/ccc/test.php test.phpが本体です。 ここから2階層上位のディレクトリ名、ここでは「bbb」を取得するような事はできないでしょうか? test.phpの中に、2階層上位のディレクトリ名を記述したいと思っています。 具体的に言うと、 $name = "●●●"; 上記の●●●に、2階層上位のディレクトリ名を入れたいです。 同じようなファイルが多数あり、「bbb」には様々なフォルダ名があり、test.phpの1つ1つを書き換えるのに手間がかかるので、ディレクトリ名を自動的に取得できれば助かります。 phpの知識がほとんどないため、お力をお借りできればと思い、質問させて頂きました。 アドバイスをお願い致します。

    • ベストアンサー
    • PHP
  • サイト名を取得するPHP

    url.txtに http://test1.com http://test2.com http://test3.com : とあります。このURLのhtmlファイルから<title>サイト名</title>部分を抜き出し、 http://test1.com+サイト名1 http://test2.com+サイト名2 http://test3.com+サイト名3 : と表示したいです。 <?php /** * ページタイトルを取得する関数 */ function getPageTitle( $url ) { $html = file_get_contents($url); //(1) $html = mb_convert_encoding($html, mb_internal_encoding(), "auto" ); //(2) if ( preg_match( "/<title>(.*?)<\/title>/i", $html, $matches) ) { //(3) return $matches[1]; } else { return false; } } $filename="url.txt"; $data=file_get_contents($filename); $array = split("\n",$data); foreach($array as $values){ echo $array."+".getPageTitle($array); } ?> ですがこのコードだと7行目あたりでエラーが出てしまいます。 どなたか解決策をご教示ください。どうかよろしくお願いします。

    • ベストアンサー
    • PHP
  • 外部サイトの更新情報を取得 してサイトに表示

    どのカテで質問するのが適切かと考えたんですが、プログラムに詳しい方なら分かるのではと思いこのカテで質問します。 下記のサイトではブログやサイトの更新情報を取得し日付順に表示しています。 http://soccer.phew.homeip.net/ RSSフィードを配信しているブログなどはまだ分かるのですが、配信していないサイトなどの更新情報も取得し表示しています。 私のサイトもリンクをお願いしているのですが、更新すると30分以内には反映されます。ただブログのように更新した内容(記事名とサイト名)ではなく更新日時とサイト名が表示されるだけです。 私のサイトもTOPページに毎回手打ちで入力してる更新情報(インラインフレーム)を表示するようにしているのですが、RSSフィードは配信していません。 何回か試してみて分かったのですが、この更新情報を記述しているファイルが更新されると自動的に日時やサイト名を取得して表示しているようです。 更新情報は下記のように記述しています。 <a href="更新したファイルのURL" target="_blank">○○更新</a> 調べてみたら更新情報を記述したファイルからRSSフィードを作成する下記サイトのようなサービスもあるそうですが、私のサイトではできませんでした。 http://rssc.dokoda.jp/ そこで質問なのですが、このサイトはどうやって私のサイトの更新情報を取得しているのでしょうか? 他人のサイトの一ファイルが更新された事を取得する方法ってあるのでしょうか? ご存知の方いらっしゃいましたらご教示ください。 よろしくお願いします。

  • PHPの変数値をリンクさせたい

    現在、PHP・MySQL・HTMLにてWebサイトを開発しています。 純粋なPHPで記述されたファイルがあり、その中にURL(例えば、BBSのアドレス)が変数に格納されています。そのURL先にジャンプさせたいのですが、どのように記述すれば良いのでしょうか?現在は「require」にてリンクさせていますが、これではページ自体は表示されるのですが、リンク先のページにあるリンク"新規投稿"や"検索"といった文字列をクリックしても「404 Page not found」となり表示されません。おそらくLocalのキャッシュを見ているのでは無いとか思われます。 PHPの初心者のため基本が出来てないのですが、ご教授頂ければ嬉しいです。

    • ベストアンサー
    • PHP
  • クライアントの指定したURLのHOST名を取得したい

    クライアントの指定したURLのHOST名を取得したい PHPでWebページを作成しました。 クライアントより記入されるURLのHOST名が"www"がつく場合と、 つかない場合があります。 クライアントの送信したURLのHOST名の文字列を取得する方法はありますか? もしくは、トップページで必ず既定のURL(HOST名固定)に飛ぶようにする方法はありますか? header("location:...")の方法は知っているのですが、.htaccess等で指定する方法 があったら、助かります。 どうか、お願いいたします。

    • ベストアンサー
    • PHP
  • mailtoでメールの本文に自動的にURLを取得し挿入したい

    携帯電話でmailtoを使いたいのですが、個別コンテンツページ毎にURLをメールで教えるようにしたいと考えています。その際、現在表示されているページのURLを自動的に取得し、取得したURLをメールの本文に入れたいと思いますが、なかなかうまくいきません。 <A HREF="mailto:?subject=ページのタイトル&body=URL"> お友達に教える </A> 上記、URLの箇所は、どのように記述すれば自動的にURLが取得できますでしょうか?

  • URLのパラメータを取得しリンクに渡すには?

    Javascriptで、URLのパラメータを取得し、リンクにパラメータを渡したいです。 例えば、現在のURLが、 http://www.hogehoge.com/hoge.php?page=hoge1だとします。 そのページに、様々なリンクがあるとします。 <リンク例> http://www.hogehoge.com/moge/moge.php http://www.hogehoge.com/boge/boge.php http://www.yahoo.co.jp/auctionxx.html このうち、/moge/以下のページへのリンクにのみ、自動で現在のURLのパラメータを渡したリンクにしたいです。 つまり、 http://www.hogehoge.com/moge/moge.php ↓ http://www.hogehoge.com/moge/moge.php?page=hoge1 というリンクにしたいです。 当然現在のURLにパラメータが存在しない場合は、そのままのリンクになります。 また、他のディレクトリや他のドメインのサイトにはパラメータを渡さず、変更せずにそのままのURLのリンクにしたいです。 <リンク例> http://www.hogehoge.com/moge/moge.php ○変更 http://www.hogehoge.com/boge/boge.php ×変更なし http://www.yahoo.co.jp/auctionxx.html ×変更なし よろしくお願いします。

  • メールの送信者名を自動でサイト内に反映させる方法。

    先日、出会い系サイトの釣りメールに、捨てメアドを取得して返信(送信者名を仮にA山 B夫とします)し、 それに返ってきたメール内のURLにアクセスしたところ、勝手に「登録完了」されてしまいました。 もちろん、そのサイトにメールアドレスや名前は一切入力していません。 そこで、そのサイトの個人フォルダのようなページを見ると、 ページ内に私が送ったメールの送信者名A山 B夫が表示されていたのです。 また、女性から届いたメール内にもその送信者名がそのまま(苗字と名前の間の半角まで)入力されていました。 ということは、私が最初に送ったメールの送信者名を取得して、自動でサイト内に反映させていると思うのですが、 私のサイト作成の知識(HTMLとCGI程度)では、その方法がさっぱりわかりません。 何か特殊なプログラムを使っているのでしょうか。 それとも、CGIやPHPなどで出来るのでしょうか。 初めにクリックしたメールのURLには、おそらく登録番号でのページの振り分けくらいしか書いてなかったと思います。 特に自分でやろうという気は無いのですが、興味があるので質問してみました。 当方、プログラミングについては全くの素人ですので、上の説明で解りづらいところもあると思いますが、 大まかな説明で結構ですので、お詳しい方、ご回答よろしくお願いします。

  • バックリンクを取得したい

    バックリンクを取得したい ヤフーで link:URL とすると、URLのバックリンクが取得できると思います。 それをPHPで実現するにはどうすればよいでしょうか? ご存知の方ご教授ください。

    • 締切済み
    • PHP
  • RSS配信していないサイトのフィードを取得する方法は?

    WEBサイトにRSSボタンがないサイト(たとえば、NTTのサイトなどhttp://www.ntt-west.co.jp/news/) のフィードを取得する方法はないでしょうか。 http://○○○/▼▼.xmlなどの”URL”で取得したいです。 自分の情報収集のために、WEBページにお気に入RSS情報を表示 させる目的です。 ブラウザやソフトウェアのRSS機能ではなく、私のWEBページに 情報を羅列するサイトを構築しました(PHPで) RSS配信しているサイトは、URLがあるので問題なく表示できているのですが RSS配信していないサイトも表示させたいと考えています よろしくお願いします

    • ベストアンサー
    • PHP

専門家に質問してみよう