実現したいこと。
和歌山市 海南市 有田市 御坊市 田辺市 湯浅町 和歌山広川町 有田川町 和歌山日高町 由良町 みなべ町 日高川町
の
、
を削除して
和歌山市,海南市,有田市,御坊市,田辺市,湯浅町,和歌山広川町,有田川町,和歌山日高町,由良町,みなべ町,日高川町
このようにしたい。
試したこと
php
1//※phpQuery-onefile.phpを利用しています。 2//※「pq($item)->text()」は- 3//「和歌山市 海南市 有田市 御坊市 田辺市 湯浅町 和歌山広川町 有田川町 和歌山日高町 由良町 みなべ町 日高川町」- 4//が入っています。 5 6preg_replace("/( | )/", ",", pq($item3)->text()); 7 8//結果- 9//「和歌山市, 海南市, 有田市, 御坊市, 田辺市, 湯浅町, 和歌山広川町, 有田川町, 和歌山日高町, 由良町, みなべ町, 日高川町」 10//全角は削除されるが、半角は削除されない。 11 12str_replace(" ", ",", pq($item3)->text()) 13 14//結果- 15//「和歌山市 海南市 有田市 御坊市 田辺市 湯浅町 和歌山広川町 有田川町 和歌山日高町 由良町 みなべ町 日高川町」 16//変化なし。 17 18str_replace(" ", ",", pq($item3)->text()) 19 20//結果- 21//「和歌山市, 海南市, 有田市, 御坊市, 田辺市, 湯浅町, 和歌山広川町, 有田川町, 和歌山日高町, 由良町, みなべ町, 日高川町」 22//全角は削除されるが、半角は削除されない。 23 24ここの震度4部分を取得しています。※table 25https://typhoon.yahoo.co.jp/weather/jp/earthquake/20190313134857.html 26 27//--全体コード 28//https://typhoon.yahoo.co.jp/weather/jp/earthquake/20190313134857.html ここの震度部分を取得しています。(table) 29require_once('phpQuery-onefile.php'); 30 31$MainDom = GetDom("https://typhoon.yahoo.co.jp/weather/jp/earthquake/20190313134857.html"); 32$str = ""; 33 34foreach(pq($MainDom)->find(".yjw_table")->find("table") as $item){ 35 foreach(pq($item)->find("tr") as $item2){ 36 foreach(pq($item2)->find("td:eq(1)")->find("small") as $item3){ 37 $str .= preg_replace("/( | )/", ",", pq($item3)->text()); 38 } 39 } 40} 41echo $str; 42 43function GetDom(String $url){ 44 return phpQuery::newDocument(file_get_contents($url)); 45} 46 47//結果 48//「和歌山市, 海南市, 有田市, 御坊市, 田辺市, 湯浅町, 和歌山広川町, 有田川町, 和歌山日高町, 由良町, みなべ町, 日高川町...中土佐町, 黒潮町,」 49//半角だけが削除されない。
補足情報(FW/ツールのバージョンなど)
phpQuery-onefile.phpを利用しています。
XAMPPで動かしています。
#最後に
phpQuery-onefile.phpに問題がある気もします...。
もしよろしければ、ご伝授下さい。
サンプルコードの「preg_replace("/( | )/", "", pq($item)->text());」の第2引数は本当に実際のコードと同じですか?
これだとカンマに変換されないので、コメントに書かれている出力結果にもならないような気がします。
本当に申し訳ないです。
正しくは、
preg_replace("/( | )/", ",", pq($item3)->text());
です。
回答3件
あなたの回答
tips
プレビュー