さて、ここで私は何をしているのですか?Googleマップの埋め込みiframeから住所を抽出したい
背景:誰か他の人が作成した既存のWordPress Webサイトに変更を加えています。クライアントがGoogle Map用の埋め込みiframeをコピーして貼り付けるテキストエリアを作成しました。これは、クライアントがWebサイトに投稿するプロパティ用です。
ジレンマ:これはすべてが順調と良いですが、私はそれらのプロパティの詳細ページを再構築していると私は、IFRAME情報のすべてを取り除くだけで、私はそれを使用できるように、プロパティのアドレスを残したいですGoogle Maps V3 jQueryプラグインを使用して新しいマップを作成します。
は、私はこれをオンにする:
5475 NW 75 AVE, Ocala FL 34482
私は(にpreg_replaceを調べて、私は正しい軌道に乗ってだと思う
)が、正規表現をこの中へ
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=5475+NW+75+AVE,+Ocala+FL+34482&aq=&sll=29.300577,-82.294762&sspn=0.006755,0.013304&vpsrc=0&ie=UTF8&hq=&hnear=5475+NW+75th+Ave,+Ocala,+Florida+34482&t=m&z=14&ll=29.244022,-82.241361&output=embed"></iframe><br /><small><a href="http://maps.google.com/maps?f=q&source=embed&hl=en&geocode=&q=5475+NW+75+AVE,+Ocala+FL+34482&aq=&sll=29.300577,-82.294762&sspn=0.006755,0.013304&vpsrc=0&ie=UTF8&hq=&hnear=5475+NW+75th+Ave,+Ocala,+Florida+34482&t=m&z=14&ll=29.244022,-82.241361" style="color:#0000FF;text-align:left">View Larger Map</a></small>
これが私を得るものです。あるいは、私が助けてくれる座標を抽出できるかどうか。私はアドレスか緯度と経度のどちらかを使って仕事を終わらせることができます。
私は得ることができる任意の援助のために事前に感謝!私のSOの担当者がまだ低いので、溶液で
編集:私は仕事を得ることができたマリオに
感謝。ここで私が最終的に助けてくれる人のためのコードです。
あなたがこれを開始しました:
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=5475+NW+75+AVE,+Ocala+FL+34482&aq=&sll=29.300577,-82.294762&sspn=0.006755,0.013304&vpsrc=0&ie=UTF8&hq=&hnear=5475+NW+75th+Ave,+Ocala,+Florida+34482&t=m&z=14&ll=29.244022,-82.241361&output=embed"></iframe><br /><small><a href="http://maps.google.com/maps?f=q&source=embed&hl=en&geocode=&q=5475+NW+75+AVE,+Ocala+FL+34482&aq=&sll=29.300577,-82.294762&sspn=0.006755,0.013304&vpsrc=0&ie=UTF8&hq=&hnear=5475+NW+75th+Ave,+Ocala,+Florida+34482&t=m&z=14&ll=29.244022,-82.241361" style="color:#0000FF;text-align:left">View Larger Map</a></small>
そして、あなたはこの希望:
5475 NW 75 AVE、オカラFL 34482
これは私のために働いていたものです:を
// We first find and extract the 'src' from the iframe
// $map is my original iframe embed
// $q is our extracted and stripped text
preg_match('#q=([^&"]+)#', $map, $match)
and ($q = urldecode($match[1]));
// Now you can echo out the address or use it elsewhere.
// In my case, I am using jQuery goMap (http://www.pittss.lv/jquery/gomap)
// and can add a new point on the map via $q
echo $q;
ようこそスタックオーバーフロー! RegExを使ってHTMLを解析することは、[あなたを狂ってしまう]ようにしないでください(http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454) 。代わりに、[HTMLパーサ](http://stackoverflow.com/questions/292926/robust-mature-html-parser-for-php)を使用してください。 –
基本的に、内側のURLの 'q ='部分を抽出したいだけですか?そう、はい、正規表現がするかもしれません。 (ここでの解析とマッチングの無意味な混乱は気にしないでください) – mario
@Truth Wow、私はそれを調べなかった、ありがとう!それはかなり知的でもあるようです。私はこれを私の問題の解決策にどのように統合するのか知っていますか?私は私のコンテンツが読み込まれた後に正規表現をクリーンアップすることができると仮定していますか? – Daryn