• 締切済み

ホームページの内容をマッチングするには?

下記のように、 if ($souce !~ /"$in{'hi_url'}"/) { エラー表示させる; } $souce はホームページの内容を格納、 その中に$in{'hi_url'}を含んでるかどうかをチェックしたい。 含んでいるにもかかわらず、エラーの表示が出てしまいます。 どなたか教えてください。 よろしく御願いします。

  • Perl
  • 回答数2
  • ありがとう数2

みんなの回答

回答No.2

提示された情報だけですと、いくつかの可能性が考えられます。 1. if ($souce !~ /"$in{'hi_url'}"/) の時点で、 1.1 $souce に想定している文字列が格納されていない 1.2 $in{'hi_url'} に想定している文字列が格納されていない 2. $in{'hi_url'} とマッチングするはずの文字列が、 $souce の中では、改行してしまっている 3. $in{'hi_url'} が日本語を含んでいて、取得したHTML のソースと 文字エンコーディング が異なっている などなど。 1 については、print や Data::Dumper などによって、 if ($souce !~ /"$in{'hi_url'}"/) の直前で出力してみて確認してみると よいかもしれません。

ChinaNet
質問者

お礼

みなさん、 どうもありがとうございました。 /の前にmを入れて上手く行きました。 if ($souce !~ m/"$in{'hi_url'}"/) { エラー表示させる; }

  • s_saike
  • ベストアンサー率46% (36/77)
回答No.1

if ($souce !~ /$in{'hi_url'}/) { エラー表示させる; } としても同じですか。

ChinaNet
質問者

補足

>if ($souce !~ /$in{'hi_url'}/) { エラー表示させる; } >としても同じですか。 同じです。因みに、$souceは、下記のサブルーチンから生成したものですが、問題あるとは思いません。 use LWP::UserAgent; use HTTP::Request; my $ua = new LWP::UserAgent; $ua->agent('Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)'); my $request = new HTTP::Request('GET', $url); my $response = $ua->request($request); if ($response->is_success) { $souce = $response->content; }

関連するQ&A

  • URLの内容チェックがうまくいきません

    $_POST['url']に何らかの値が格納されている場合のみ、正規表現で値をチェックしたいのですが、現在のソースでは$_POST['url']が空の場合も処理が正規表現に移ってしまい、結果エラーが出てしまいます。 if ( isset($_POST['url']) && preg_match('/^(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/', $_POST['url']) && mb_strlen($_POST['url']) <= 100){ 【データベース登録処理】 }else{ echo "エラー:入力内容が正しくありません"; } issetあたりが怪しいとは思うのですが、!emptyでも駄目でした。 他に何か書き方がありましたらご教授ください。

    • ベストアンサー
    • PHP
  • あるホームページを開くとエメッセージが

    WindowsMeでInternetExplorer6を使っています。 あるホームページを開くと下記のようなメッセージが出ます。 Webページに問題があるため正しく表示または機能しなくなる可能性があります。 ライン:21 文字:1 エラー:オブジェクトを指定して下さい コード:0 URL:・・・・・・ と出ます。 どうしたら直るでしょうか?

  • ホームページの見方に関する件

    あるホームページを見ようとURLを入力して、クリックすると、そのホームページのトップページが表示されますが、この画面に小窓が表示され、次のメッセージが出ます。 「このwebページでActiveXコントロールを実行するにはクリックして下さい」。 そこで、クリックすると、「問題が発生したため……終了します」のメッセージが出てOKすると閉じてしまい、そのホームページの内容を見ることができません。 このエラーメッセージが出る原因は何でしょうか? 対処策を教えてください。

  • ホームページが改ざんされました。

    映画関連のホームページですが、そのURLとタイトルはそのままですが内容が全く違います。FTPでサーバーのデータをチェックしましたが、アップしたもののままで、INDEXページを削除しても違うページが表示されます。どこかから転送されているようです。どうしたらよいでしょうか?http://www.cinema-arci.com/

  • 最近ホームページで「このサイトを友達にメールで勧める」といった内容を見かけた方

    最近ホームページで、「このサイトを友達にメールで勧める」といった 内容を見かけるのですが、中には面白いものもありますよね。 「見かけたことがあるよ」っていう方はURLを教えてもらえませんか?

  • ホームページのことで困っています。

    今、ホームページを作っています。 分からないのが左側(メニュー)を固定して右側の本文だけをメニューをクリックすると変わるようにしたいです。 その時にクリックすることで右側のURLも変わって欲しいのですが。 http://www.est.hi-ho.ne.jp/gaia/hp/chp4_01.htmlの様に左のメニューをクリックしても上はそのままなのに右側の本文とURLは変わります。 この様にしたいのですが誰か教えて下さい。

  • homepageについて

    ホームページを作って用意ができたのですが、URLはどのように決まっているのかよくわかりません。 まず、通信規約を入れ、次にサーバーの名前、ホームページが格納されているフォルダ名、ページのファイル名の順だと思うのですが、フォルダ名はローマ字で入れるんですか? そのほかなにかアドバイスがあればお願いします。

  • errorの内容がわかりません(T_T)

    パソコンを立ち上げて最初にErrorが出てしまいます。 エラー内容は、 【Error 8007041F in Conne ctServer.サービス データベースはロックされています。】 と、表示されます。 Error内容も対処方法もわかりません。 教えてください。。。

  • 同じ内容の新しいホームページがヒットしない

    新しく作ったホームページが検索してもヒットしません。 2年ほど個人ホームページ(WordPress使用)のURLとして使用していたドメインとは別に、新たなドメインを取得して、全く内容の同じホームページをネット上にアップしました。 それまでのホームページ(以下 旧HP)と、新しいホームページ(新HP)は2月半ばから1ヶ月ほどネット上でダブって存在していました。 そして先週(3月半ば)に旧HPはドメインを更新せず、検索してもヒットしなくなりました。 新HPがヒットしません。 なぜでしょうか。 時間が来ればヒットするようになるのでしょうか。

    • ベストアンサー
    • SEO
  • ホームページを作りたいんですが・・・。

    下記のURLのようなレイアウトのホームページを作ってみたいんですが、こちらはホームページビルダーなどを使って作っているんでしょうか…。 HTMLで挑戦してみたところ、どうも上手くいきません。 もし何か特殊な技術などが必要でしたら教えてください。 その際ためになる本やホームページなどを載せていただけたら嬉しいです。 [参考URL] http://blog.livedoor.jp/dqnplus/archives/2007-11.html

専門家に質問してみよう