人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPの埋め込み
htmlにphpを埋め込もうとして
>|php|
<?php

foreach($html->find('h3') as $new){

?>
||<
とすると、->の部分からphpとして認識されず、文字列になってしまいます。
どうすればよいのですか?

●質問者: dyondyon
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● うぃんど

$html->find という名前の付け方から想像すると・・・
下記のようにfile_get_htmlを使っているのでは?
$html = @file_get_html('URL');

file_get_htmlからさらに想像すると・・・
file_get_htmlをphp標準装備だと思い込んでいるのでは?
下記から入手して解凍したものを、phpファイルと同じディレクトリあるいは、
pathの通っているディレクトリに置いておくと動くようになります
http://sourceforge.net/projects/simplehtmldom/files/
(実際に必要になるファイルは simple_html_dom.php だけです)

以上はひとつの想像であり、エラー箇所だけしか示されていない現状では、
真相を確かめることもできませんので、コメント欄などに、
コードを出来るだけそのままの形で書いて回答を待つと良いでしょう


dyondyonさんのコメント
分かりにくい質問で申し訳ありません。 ソースは以下です >|php| <?php require_once("simple_html_dom.php"); $word = $_POST["word"]; $html = file_get_html('http:www.google.co.jp/search?aq=f&sourceid=chrome&ie=UTF-8&q='.$word); foreach($html->find('h3') as $new){ $new = strip_tags($new,uot;<a>"); echo $new."<br>"; } ?> ||<

うぃんどさんのコメント
URLに // が抜けてます 下記のように正しいアドレスに修正すると動きます >|php| $html = file_get_html('http://www.google.co.jp/search?aq=f&sourceid=chrome&ie=UTF-8&q='.$word); ||<

dyondyonさんのコメント
やはりできません。 find('h3') as $new){ $new = strip_tags($new,uot;"); echo $new." "; } ?> と表示されてしまいます・・・

うぃんどさんのコメント
こちらではURLの//を正しく書き加えただけで動いていますので、 現状で想像を膨らませると、その原因は下記のようなものではないかと思います (a)実はgoogleではなく別のURLを扱っていて、URLとして使えないような文字を使っている (b)提示されたコード以外の部分でセミコロンが抜けているなどのミスをしている

dyondyonさんのコメント
>|html| <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <div align="center"> <form action="" method="post"> <input type="text" name="word" size="60" value=""/> <input type="submit" value="検索結果一覧"/> </form> <?php require_once("simple_html_dom.php"); $word = $_POST["word"]; $html = file_get_html("http://www.google.co.jp/search?aq=f&sourceid=chrome&ie=UTF-8&q=".$word); foreach($html->find('h3') as $new){ $new = strip_tags($new,uot;<a>"); echo $new."<br>"; } ?> </div> </body> </html> ||< "->" のところが怪しい…

dyondyonさんのコメント
追記 phpを呼び出すようにすると問題なく動くのですが、htmlに埋め込むとうまくいきません。

うぃんどさんのコメント
>|| uot;<a>" ||< 人力検索の変換ミスだと思って気にせず直していたのですが、 もしかしてオリジナルでもミスしてます? // の追加だけでなく、化けてる部分も直すと何もせずにコードは動きました >|| "<a>" ||<

dyondyonさんのコメント
オリジナルでもミスしてました。でもそれを直しても動きません。 Google Chromeのソースビューアで見るとこんな感じです↓ http://uploader.sakura.ne.jp/src/up84264.bmp 原因は分かりませんがやはり -> のところでphpのくくりが外れています。 ブラウザで見るとこんな感じです↓ http://uploader.sakura.ne.jp/src/up84266.bmp

うぃんどさんのコメント
まだ uot; が残ってますよ

dyondyonさんのコメント
失礼しました。 しかし直してもうまくいきませんでした… ソースは↓ http://uploader.sakura.ne.jp/src/up84267.bmp -> が閉じタグとして認識されています。

うぃんどさんのコメント
こちらはWindows上で作成したものを、 広く用いられているapache+php構成のサーバーにアップしてテストしています 人力検索の色分けでも区切られちゃってることから想像をさらに膨らませると・・・ エディタかアップローダーが悪さしている可能性がありそうですね どのようなソフトでコードを書いているのか、 そして、どのようなサーバーにアップロードしているのか明示できますか?

dyondyonさんのコメント
TeraPadで作成して@pagesにあげています

うぃんどさんのコメント
@pagesにアカウントを取ってFTP転送でアップロードしてみました・・・ 埋め込まない場合はOK http://www40.atpages.jp/windofjuly/1328612781b.html 埋め込みはNG http://www40.atpages.jp/windofjuly/1328612781.html CMバナー組み込みの際にパースをミスしてしまうみたいです CMバナーを消すことは、あちらの利用規約に反しますので出来ませんし、 やれることとすれば・・・ちょっと検討してからコメントします

うぃんどさんのコメント
別ファイルにしておいてincludeしてみるとどうだろうとテストしてみたけど、 単純にインクルードされなかった・・・ http://www40.atpages.jp/windofjuly/1328612781c.html これ以外の案が浮かびません・・・サーバーが原因なのでお手上げです

dyondyonさんのコメント
ファイル名がmenu.htmlならバナーが出ないので試してみましたが やはりうまくいきませんでした。 サーバーが原因では仕方がないですね…
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ