테스트 사이트 - 개발 중인 베타 버전입니다

본문 내 링크 정규식 채택완료

나방큰도그래 2년 전 조회 1,430

1. 본문 내에 

<a href="www.naver.com?query=a&string=b">www.naver.com?query=a&string=b</a> 이런식으로 있을경우 query와 string 값을 어떻게 가져오나요??
 

2. <img src="aaaaa.jpg">ㅁㅁㅁㅁㅁㅁㅁㅁ 이렇게 본문에 있을경우

<img src="aaaaa.jpg"> 이런식으로 어떻게 가져오나요?

 

부탁드리겠습니다! 정규식으로 뺏어와야할텐데..ㅠㅠ 어렵네요.. 정규식은..ㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
핑크빈
2년 전

1. <a\shref="(.*?)(?:\?|\&)(?<key>[\w]+)(?:\=|\&?)(?<value>[\w+,.-]*)">

2. <img[^>]*src=[\"']?([^>\"']+)[\"']?[^>]*>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

나방큰도그래
2년 전
헉 감사합니다!!!! ㅎㅎㅎ
헛둘헛둘
2년 전
감사합니다! 정규식에 대해 요즘 좀 보고 있는데 ㅎㅎ; 도움되네요
핑크빈
2년 전
도움되셨으면 채택부탁해요 ~

댓글을 작성하려면 로그인이 필요합니다.

2년 전

</p>

<p><?php

$str = <<<HEREDOC

<a href="www.a.com?query=a&string=b">www.a.com?query=c&string=d</a>

<img width="100%" src="aaaaa.jpg">ㅁㅁㅁ<a target="_blank" href="www.b.com?query=e&string=f" class=link_a>ㅁㅁㅁㅁㅁ

aaa<a href="www.c.com?query=g&string=" class=link_a>www.c.com?query=i&string=j</a>

ㄴㄴㄴ<img src="bbb.png">ㅇ<img src='ccc.gif' height='80px'>ㅇ<img src=ddd.jpg>ㄹ

HEREDOC;</p>

<p> </p>

<p>$arr = ['qs' => [], 'img' => []];

preg_match_all('@<a\s.*?href=[\'"]?([^>\'"]+)[\'"]?.*?>@i', $str, $arr['qs']);

preg_match_all('@<img\s.*?src=[^>]+>@i', $str, $arr['img']);</p>

<p> </p>

<p>if (count($arr['qs']) == 2) {

    $arr['qs'] = $arr['qs'][1];

    array_walk($arr['qs'], function (&$v) {

        $v = parse_url($v, PHP_URL_QUERY);

        parse_str($v, $v);

    });

}</p>

<p>

if (count($arr['img']) == 1) {

    $arr['img'] = $arr['img'][0];

}</p>

<p> </p>

<p>print('<xmp>');

print_r($arr['qs']);

print_r($arr['img']);

print('</xmp>');</p>

<p>?></p>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

BKH소프트

www.naver.com?query=a&string=b

/www/index.php 링크로 도착하는 파일에 해당 코드를 넣으셔서 받아 값을 사용하시면 됩니다.

</p>

<p><?php</p>

<p>$query = $_REQUEST['query'];

$string = $_REQUEST['string'];</p>

<p> </p>

<p>echo $query;  //출력값: a

echo $string;  //출력값: b</p>

<p> </p>

<p>// 만약 a가 이미지 파일명이라면...</p>

<p>?></p>

<p><img src="<?php echo $query?>.jpg"></p>

<p>위처럼 하시면 a.jpg가 됩니다.</p>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인