
関数を使って、 外部サイトより取得した値のカンマと円を取り除いていますが、その中で、わからないことがありますので質問します。下記のコードは、Simple HTML Domを利用して、たからくじ発表サイトより(ロト6)の結果を取得したものです。取得したものをそれぞれ変数$info[ ]に入れて、それらを関数に入れて、カンマと円を取り除いています。下記のコードでは、$info[20]に入っているものを表示しています。
【コード】
<?php
function val($str){
if(!preg_match("/^[0-9]+$/",$str)){
$str =intval(preg_replace('/[^0-9]+/', '', $str));
}
$str = intval($str);
return $str;
}
require_once('simple_html_dom.php');
$html = file_get_html( 'http://www.mizuhobank.co.jp/takarakuji/loto/loto … );
$number = $html->find( '.typeTK th')[1];
for($i = 0; $i < 21; $i++){ //配列に格納
$info[$i] = $html->find( '.typeTK td')[$i];
}
echo $info[20]."<br>"; //取得した値。254,791,972円 と表示
echo val($info[20])."<br>"; // 2147483647 と表示される ??? なぜ
$test = '254,791,972円'; //関数のテストの為 $info[20]と同等の値を$testに入れます。
echo $test."<br>"; //254,791,972円 と表示
echo val($test)."<br>"; //関数はしっかり機能しています。254791972 と表示
?>
例えば、$info[20]で 取得した値は echoで 254,791,972円 と表示されるので、これに関数を適用して、val($info[20]) とすると、表示値が、2147483647 本来なら、254791972 とカンマと円が抜けた値が表示されるはずなのですが。
そこで、関数val()に問題があるのかと思ったので、テストとして、
同等の値を $test = '254,791,972円'; 作り、同様に表示を確認してみました。こちらは、しっかりと、カンマと円が抜けた値が表示されるので、関数には問題ないことが分かりました。
従って、どこが悪いのかがわかないので、アドバイスください。よろしくお願いします。
No.1ベストアンサー
- 回答日時:
echo htmlspecialchars($info[20]);
で、確認してみては?
なにかエスケープシークエンスで
ひっかかってるのかも
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP PHPで訪問回数を表示するカウンタを作成したい 3 2023/05/27 07:09
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- JavaScript [再掲]指定したパスが現URLに含まれていたら特定要素を削除するJavascriptのコードについて 1 2023/05/10 15:09
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
switch()文で値の大小比較
-
バッチファイルでpingの結果を...
-
shシェルスクリプト 空白行の...
-
シェルで正規表現 YYYY/MM/DD
-
[php] スクレイピングで外部サ...
-
DBから抽出したデータにを別テ...
-
Postgresで検索キー以外の値が...
-
PHPの例外処理について教えてく...
-
サイト内のあるページを更新!...
-
繰り返し処理をうまく使えない...
-
PHP化したCSSでブラウザ...
-
バッチファイルで、全てのウィ...
-
PHPでjavascriptのalert文の...
-
switch文の中でforeach
-
繰返しを繰り返す【php】
-
画像の削除
-
phpphp,mysqlページングについて
-
エラーページをPHPで作成したい
-
syntax error, unexpected 'ech...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
バッチファイルでpingの結果を...
-
shシェルスクリプト 空白行の...
-
switch()文で値の大小比較
-
findstrのerrorlevel
-
小数点以下0の非表示
-
syntax error, unexpected 'ech...
-
pdftkを使った処理をバッチファ...
-
phpでcookieがうまく保存されない
-
コマンドプロンプト フォルダ内...
-
XMLのタグの有無をPHPで判定し...
-
ゼロとNULLを区別して number_f...
-
バッチファイルで、全てのウィ...
-
DBのハッシュ化したパスワード...
-
Windowsのsetコマンドでの小数...
-
オブジェクトの中身の判定(PHP)
-
bashの関数の引数にスペースが...
-
訪問回数で表示するFLASHを変える
-
batファイルでPC名称の変更
-
print と echo の違い
おすすめ情報