アプリ版:「スタンプのみでお礼する」機能のリリースについて

<h3 class="r"><a href="/url?q=http://aaa.co.jp/index.html&amp;sa=U&amp;ei=CuI5 …

上記のものから
http://aaa.co.jp/index.html
のみ抽出する正規表現を教えてください。

よろしくお願いします。

A 回答 (3件)

ちょっと修正



<?PHP
$str=<<<eod
<h3 class="r"><a href="/url?q=http%3A%2F%2Faaa.co.jp%2Findex.html&amp;sa=U">
eod;
$pattern="/<h3 class=\"r\"><a href=\"\/url\?q=(.*?)(?:&amp;|\")/";
preg_match($pattern,$str,$match);
print htmlspecialchars($match[1]);
?>

こうしてしまうと、h3タグとaタグの間にスペースや改行が入ると
マッチしませんがよいですね?
また、パラメータqは一つ目ででてこないとマッチしませんがよいですね?
    • good
    • 0
この回答へのお礼

迅速な対応ありがとうございます。
バッチリ取得できました。
今後は、しっかりと正規表現を勉強していきます。

お礼日時:2012/02/15 17:01

ああ、なんとなくわかった


こういうことですね?
コロンやスラッシュもエンコードしたほうがよいですね

<?PHP
$str=<<<eod
<h3 class="r"><a href="/url?q=http%3A%2F%2Faaa.co.jp%2Findex.html&amp;sa=U&amp;ei=CuI5T_2iLO7ymAWt6tGlCw&amp;ved=0CBoQFjAB&amp;usg=AFQjCNHEkBnpOAp3vxF9loM0Vk_AuM2e3Q">
eod;
$pattern="/(?:\?|&amp;)q=(.*?)(?:&amp;|$)/";
preg_match($pattern,$str,$match);
print htmlspecialchars($match[1]);
?>

この回答への補足

ご回答ありがとうございます。
適切なお答えありがとうございます。
ですが、大変恐縮で申し訳ないのですが、
<h3 class="r"><a href="/url?q=
という一定のタグの後のURLの場合はどうなるのでしょうか。
よろしくお願いします

補足日時:2012/02/15 14:17
    • good
    • 0

index.html?・・・


じゃなくて?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!