• 締切済み

file_get_contentsでのデータ挿入

file_get_contentsで取得したHTMLに特定の文字列を挿入して出力したいです。 下記の実行ですと'0'が返ってきてしまいます。 どこが問題なのでしょうか? <?php $html_data = mb_convert_encoding(file_get_contents("http://www.yahoo.co.jp"),'UTF-8','auto'); $str = 'aaa'; $html_data += $str; print($html_data); ?>

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

みんなの回答

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

>$html_data += $str; 文字列の結合ですよね? $html_data .= $str;

fwkp5448
質問者

お礼

大変失礼いたしました。 JSと混同しておりました。 解決いたしました。 ありがとうございます。

関連するQ&A

  • file_get_contents()にて文字化け

    PHPにてfile_get_contents()関数を使用し、ソースを読み込んだのですが、文字化けしてしまいます。 ※読込先は海外サイトです。日本語は利用されていません。 エンコードの問題かと思い、試行錯誤しましたが、うまくいきません。 解決方法を教えてください。 ちなみに、ソースの読み込み事態はできているので、ユーゼエージェントで、はじかれていることはないと思います。 [相手サイトの情報] ・UTF-8を宣言している ・日本語は使用していない ※URLを$urlとします。 [ソース] header("Content-type:text/html;charset=UTF-8"); echo mb_convert_encoding(file_get_contents($url),'UTF-8','auto'); file_get_contents($url)単体でもアウトでした。 お願いしますm(_ _)m

    • 締切済み
    • PHP
  • str_get_htmlがこける原因を知りたい

    よろしくお願いします。 PHP であるサイトをスクレイピングしているのですが、str_get_htmlが特定?のページだけ処理が失敗します。 例えば、1ページ~10ページ目までをスクレイピングしているときに、8ページ目だけ失敗します。 str_get_htmlの処理に失敗する原因って何々あるんでしょうか? 以下は、サーバ・PHPの情報になります。 ・サーバ:さくらのレンタルサーバ スタンダード ・PHP -v 5.4.22 ・ソース $HTML = file_get_contents($url); $encode_HTML = mb_convert_encoding($HTML, 'UTF-8', 'CP932'); $Dom = str_get_html($encode_HTML); // ここで$Domに値がはいっていないのを確認しました。 // print_r($encode_HTML); はHTMLソースにはなってました。 if ($Dom){ echo "OK"; }else{ echo "NG"; continue; }

    • ベストアンサー
    • PHP
  • file_get_contents()で文字化けしてしまう

    file_get_contents()で文字化けしてしまう お世話になります。 職場の環境でプロキシ経由でないと外部ファイルを読み込めないということなので プロキシ経由でファイルを読みこもうとして http://blog.umeyama.org/2009/06/php-proxy.html を参考に $csvscj="http://xxxx/yyy/zzz.csv"; $proxy = array( "http" => array( "proxy" => "tcp://proxy:port", "request_fulluri" => true, ) ); $sc = stream_context_create($proxy); $FileList=file_get_contents($csvscj,false,$sc); $FielList = mb_convert_encoding($FielList, "UTF-8", "SJIS"); echo '$FileList='.$FileList; $csvscjはShiftJISのcsvファイルです。 このようにechoで$FileListを表示してみると、半角文字以外は文字化けしてしまいます。 mb_convert_encoding()をレム文にしても同じ結果です。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • file_get_contents()の引数

    PHPのfile_get_contents()関数についてです。 file_get_contentsに付けるパラメータはどのようなものがありますか? 解りやすく教えて頂けると助かります よろしくお願いします!

    • 締切済み
    • PHP
  • print_rで出力した配列データファイルをfile_get_cont

    print_rで出力した配列データファイルをfile_get_contentsでそのまま取り込もうとしましたが、配列としてではなく文字列として取り込んでしまいます。 ひとつの配列にまとまってしまします。 text.php $data=array(1,2,3,4,5); print_r($data); Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ) output.php これを別ファイルで取り込むと$value= file_get_contents("text.php"); echo $value; print_r($value);両方とも Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ) が出力されました。 配列として取り込みたいのですが可能でしょうか?

    • ベストアンサー
    • PHP
  • file_get_contentsについて

    file_get_contentsについて教えてください。 現在あるサイトを定期的にチェックし、特定の文字列が存在したら メールを送るというものを作っています。 そのサイトチェックの際にfile_get_contentsを使って、 サイトの中身をチェックしています。 $tmpPage = file_get_contents('~.cgi?aa=bbb'); 上記の用に記述して$tmpPage内の文字列をチェックすることで 実現できているのですが、本来このサイトは携帯向けのページのため ヘッダー情報を付加して下記のように記述しています。 $opts = array( 'http'=>array( 'method'=>'GET', 'header'=>'Host :www.XXXXX.jp' . PHP_EOL . 'User-Agent :KDDI-XXXXXXXXXXXX' . PHP_EOL . 'x-up-subno :XXXXXXXXXXXX.ezweb.ne.jp' ) ); $context = stream_context_create( $opts ); $tmpPage = file_get_contents( '~.cgi?aa=bbb', false, $context ); このように記述すると Warning: file_get_contents('~.cgi?aa=bbb') [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found とエラーが返ってきてしまいます。 アクセスするURLをYahooやGoogleにすると問題なく動いているので、 問題なのはチェックするサイトのURLが「XXX.cgi?aa=bbb」と なっているのがダメなのではないかと思っています。 アクセス先のURLが単純な「.html」ではないまたは、ヘッダー情報を 付加する場合、file_get_contentsの使い方が変わるのでしょうか。 ご存知の方がいらっしゃれば是非教えてください。 よろしくお願いします。

    • 締切済み
    • PHP
  • PHP+Postgres 「髙」が文字化け

    DB上に格納した文字列を取得し、PHPで出力すると、 「髙」(はしごだか)等、一部の文字が「□・」のような見た目に化けてしまいます。 環境は以下です。 Linux(CentOS 5) PHP 5.1.6 Apache 2.2.3 PostgreSQL 8.4.3 文字コードは以下です。 Postgres:EUC-JP PHPソース:EUC php.ini の[mbstring]はコメントのまま変更していません。 文字コードの変換を試してみたのですが、「髙」としては出力できませんでした。 Windows上では「CP51932」に変換すると正常に出力できましたが、Linux上ではやはり駄目でした。 mb_language("uni"); mb_internal_encoding("euc-jp"); mb_http_input("auto"); mb_http_output("euc-jp"); $str = "髙橋"; print(mb_convert_encoding($str, "EUCJP-win")); print(mb_convert_encoding($str, "EUCJP-win","EUC-JP")); print(mb_convert_encoding($str, "SJIS")); print(mb_convert_encoding($str, "SJIS","EUC-JP")); print(mb_convert_encoding($str, "SJIS-win")); print(mb_convert_encoding($str, "SJIS-win","EUC-JP")); print(mb_convert_encoding($str, "UTF-8")); print(mb_convert_encoding($str, "UTF-8","EUC-JP")); print(mb_convert_encoding($str, "EUC","SJIS")); print(mb_convert_encoding($str, "Unicode")); print(mb_convert_encoding($str, "Unicode","EUC-JP")); print(mb_convert_encoding($str, "UTF-8", "sjis-win")); print(mb_convert_encoding($str, "CP51932")); print(mb_convert_encoding($str, "MS932")); print(mb_convert_encoding($str, "MS932","EUC-JP")); print(mb_convert_encoding($str, "UTF-8","EUCJP-win")); print(mb_convert_encoding(mb_convert_encoding($str, "EUCJP-win" ), "UTF-8","EUCJP-win")); print(mb_convert_encoding(mb_convert_encoding($str, "EUCJP-win","EUC-JP"), "UTF-8","EUCJP-win")); print(mb_convert_encoding(mb_convert_encoding($str, "SJIS-win" ), "UTF-8","SJIS-win")); print(mb_convert_encoding(mb_convert_encoding($str, "SJIS-win","EUC-JP"), "UTF-8","SJIS-win")); print(mb_convert_encoding(mb_convert_encoding($str, "SJIS-win" ), "EUCJP-win","SJIS-win")); print(mb_convert_encoding(mb_convert_encoding($str, "SJIS-win","EUC-JP"), "EUCJP-win","SJIS-win")); http://blog.livedoor.jp/loopus/archives/50160285.html 上記サイトによると、解決法は「EUC-JPで出力しないこと」という事でしたが、 文字コードを変換して出力できるような事を書いているサイトもあり、結論が出せずにいます。 ソースを書き換えるのは避けたいのですが、いい方法がありましたらご教示ください。

    • ベストアンサー
    • PHP
  • 「include」と「file_get_contents」の違いがよく

    「include」と「file_get_contents」の違いがよく分かりません。 ネットで調べてみました。 ・「include」… 指定したファイルを読み込んで評価 ・「file_get_contents」… 指定したファイルの内容を全て読み込んで文字列として返す で、実際に試してみたのですが、「file_get_contents」の方がよく分かりません。 具体的には、下記を試すと、結果が、tt string(44) "" となるのですが、ttって何ですか? 評価をしないで文字列として返したということでしょうか? それでなんで tt になるのでしょうか? ▼hoge.php <?php $s = file_get_contents("test1.php"); var_dump($s); ?> ▼test1.php <?php echo ("1どうなるのかな"); ?>

    • ベストアンサー
    • PHP
  • file_get_contents関数で引数をURLにすれば、HTML

    file_get_contents関数で引数をURLにすれば、HTMLソースを取得できるのはわかるのですが、 例えば、URLが制限 255バイト?を超える場合、GETでなくPOSTタイプでHTMLを取得したいのですが、file_get_contents関数のように手軽にPOSTタイプで取得できる関数はありますか? PHP5を使っています。

    • 締切済み
    • PHP
  • file_get_contents()の挙動につい

    今、PHPを使用したHTTP通信につきまして困っております。 何でも結構ですのでアドバイスいただけましたら助かります。。 file_get_contents()を利用して、REST通信をしています。 200応答時は問題無いのですが、404や400応答時に file_get_contents()はfalseしか返さず、 本来受信しているはずのコンテンツを取得することができません。 色々試していたのですが、解決策が見つかりませんでした。 よろしくお願いしますm(_ _)m

    • ベストアンサー
    • PHP

専門家に質問してみよう