【PHP】くだらねぇ質問はここに書き込みやがれpart9

このエントリーをはてなブックマークに追加
530nobodyさん
前スレを参考に投資信託のHPから最新の価額を切り出そうとしているのですが
うまくいきません。
さわかみファンドからは首尾よく価額を取得できるのですが、SGターゲットジャパン
からはできません。
なにも表示されないのです。

//さわかみファンド 71311998
$InputFile = "http://www.quick.co.jp/qsearch.exe?F=fund%2Fall&KEY1=71311998";
//SGターゲットジャパン 58311008
$InputFile = "http://www.quick.co.jp/qsearch.exe?F=fund%2Fall&KEY1=58311008";

// ファイルを開きます。
$fp = fopen($InputFile, "r");
if ($fp == FALSE) {
echo "error";
exit();
}

while (!feof($fp)){
 $s = fgets($fp);
 $n = preg_match_all($Pattern, $s, $ar, PREG_SET_ORDER);
 for($i = 0; $i < $n; $i++){
 print $ar[$i][2] . "<br>\n";
 }
}
// ファイルハンドラを閉じます
fclose($fp);

ここ数日悩んでます。どうか原因を教えてくださいませ。
531530:2005/09/13(火) 16:12:39 ID:???
530です。
環境を書き忘れてました。
所謂LAMP環境です。

RedHat 9
Apache 2.0.40
MySQL 3.23.58(mbstring on)
php 4.2.2

スクリプトはeuc-jpで書いてます。
532nobodyさん:2005/09/13(火) 16:12:45 ID:???
>>530
$Patternの内容を示せ
533530:2005/09/13(火) 16:14:46 ID:???
忘れてました。
$Pattern = "/(<FONT COLOR=black>)(.*)(<\/FONT>)/";
534nobodyさん:2005/09/13(火) 16:19:52 ID:???
>>530
両方とも表示されたよ。
535530:2005/09/13(火) 16:29:06 ID:???
>>534
文字コードは関係ないでしょうか?
どんな環境でテストされましたか?
536nobodyさん:2005/09/13(火) 16:39:23 ID:???
>>535
たぶん改行の問題だと思う
そのスクリプトだと<FONT COLOR=black>から</FONT>までが1行にないと駄目
537532:2005/09/13(火) 16:47:05 ID:???
>>535
こう書き換えてみたら?

$s = '';
while (!feof($fp)){
 $s .= fgets($fp);
}
fclose($fp);

$n = preg_match_all($Pattern, $s, $ar, PREG_SET_ORDER);

for($i = 0; $i < $n; $i++){
 print $ar[$i][2] . "<br>¥n";
}
538534:2005/09/13(火) 16:49:48 ID:???
>>535
WinXPでShift JIS
マッチした内容は
-----------------
24846
</FONT>
<BR>
<FONT COLOR=FF0000>+
96</FONT>
<!---->
<br>
------------------
539nobodyさん:2005/09/13(火) 17:05:20 ID:???
>>520
> HTTP POSTを発行する方法が分かりません・・・
fsockopenしてfwriteで送信。

>>522
文字をでかくする。色を薄くする。フォントを変える。
JPEGならクオリティの値(imageJpegの3番目の引数)を上げるかPNGにする。
それでもダメならGDを見放せ。
540nobodyさん:2005/09/13(火) 17:21:49 ID:???
>>539
fsockopenをキーワードにして探した所、まさに求めていた情報がありました。
ttp://www.stackasterisk.jp/tech/php/searchAction.do?cid=18

ありがとう
541530:2005/09/13(火) 18:40:35 ID:???
レスどうも有難うございます
>>536
たしかに改行コードが含まれています。
この場合$Patternに改行コードを書き込むと良いと思い\rや\nをためして
みましたがダメでした。
取得したhtmlの文字列から改行コードを取り去ればよいと思いますが・・・。
そんな機能を持った関数があるのでしょうか?
>>537
そのとうりに書き換えてみましたがダメでした。