HTMLのデータが入っている変数 $data から、一番初めにでてきた<img>タグに囲まれるURLと、そこに<a>タグがある場合はそのリンク先のURLを取得させたいのですが、もし<a>のない場合のケースでどう条件付ければよいかわからず、困っています。
<?
$data = "<html><head></head><body>こんにちは、元気ですか?
<a href=\"http://www.hoge.co.jp\"><img=\"http://www.hoge.c …
<img=\"http://www.hoge02.co.jp/hoge02.jpg\">
</body></html>";
if (preg_match("#<a href=\"(.+)\"><img=\"(.+)\"></a>#", $txt, $reg)){
$link = $reg[1];
$url = $reg[2];
}
echo "URL = {$url}<br> LINK = {$link}";
?>
この場合、一番初めに出てきた hoge.jpg のURLとLINK両方取得してくれますが、もし hoge02.jpg が先に来た場合、そのURLを取得させるようにしたいのですが可能でしょうか?
もし何かご存知の方おられましたらどうぞよろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
かなり緩いマッチ条件ですが、以下でどうでしょうか。
$data = "<html><head></head><body>こんにちは、元気ですか?<a href=\"http://www.hoge.co.jp\"><img=\"http://www.hoge.c …
if (preg_match("/(?:<a href=\"([^\"]+)\">)?\s*<img=\"([^\"]+)\">/", $data, $reg))
{
$link = $reg[1];
$url = $reg[2];
}
・<img="URL"> ではなく <img src="URL">が正しい?
・$dataが、不特定の人が投稿する掲示板記事のようなものなら、
$link、$urlがURLとして妥当な形式かを確認し、HTMLエスケープ
をしてからechoするべきですね(クロスサイトスクリプティング
を避けるためです)。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- PHP PHPを使って、別サイトの一部を取得して表示したいのです。。 1 2023/01/18 21:45
- HTML・CSS html cssのmargin 5 2022/12/03 11:04
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- SEO googleサーチコンソールで、重複URLが多数発生、その修正方法について 2 2023/06/23 16:15
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- HTML・CSS cssの display: flex;で横並びにならずに困ってます 1 2022/12/04 13:18
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- PHP タグの追加 1 2022/08/19 11:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHP8を使うと、大量のWarningが...
-
phpでPEAR::DBを使っているので...
-
値の取り出し方について教えて...
-
index.phpって何ですか? 具体...
-
index.phpに入るには、どうすれ...
-
なんでブラウザでPHPを動かすた...
-
入力フォームの空白や改行を制...
-
どうして送信されないのでしょ...
-
phpでcookieがうまく保存されない
-
php 入力画面から確認表示画面...
-
PHPで画像の渡しが上手く行きま...
-
PHPとHTML+Xamppの掲示板で画像...
-
phpのメールフォームの完了画面...
-
PHPで今日の日付から3日後を表...
-
phpの imap_search で漢字コード
-
PHP と MySQL でテーブルの行数...
-
awsにApacheとPHPを入れて、何...
-
オススメのプログラミングスク...
-
MySQLの配置が変わったため、db...
-
PHPでのパスワード制限のセキュ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
reuterの記事をbeautiful.soup....
-
JSFタグのfタグとは
-
正規表現で複数行に渡る範囲を...
-
変数にHTMLを代入する場合
-
phpの正規表現でstyle="●●"を削...
-
Nvuで作成したhtmlをコピペして...
-
正規表現で指定範囲すべて除去...
-
正規表現でタグの置換をしたい...
-
Strutsでリンクを動的に生成したい
-
自分でタグ打ちして作ったペー...
-
php正規表現 相対パス→絶対パス
-
ASP.NET(C#)とhtmlの#include
-
PHPの正規表現でHTMLタグの内容...
-
csobjというタグについて
-
VBSでのhtmlタグ要素名の置換
-
htmlタグ間の特定文字置換
-
URLの連続アクセス
-
HTMLファイルの書き換え
-
htmlspecialchars関数を使いな...
-
javascriptの正規表現でhtmlか...
おすすめ情報