html 코드내에서,
링크를 세부분으로 나누어 추출하려고 합니다.
다음과 같은 html 내용이 있을때,
**************************************************************
<a target=_blank href='http://www.naver.com'>네이버</a>
<area shape="RECT" target="_blank" coords="10,10,135,60" href="http://www.daum.net" />
**************************************************************
1. <a 혹은 <area 태그 내용
(예: <a target=_blank href='http://www.naver.com'> )
2. 1내용중 href의 내용
(href내용은 큰따옴표 혹은 작은따옴표로 감싸지거나 그냥 링크만 있을수도..)
3. <a 혹은 <area 의 텍스트내용
(위 html의 첫째줄에서는 네이버, 둘째줄에서는 공백이 되겠네요.)
이 세 내용을 preg_match_all 함수와 정규식을 이용해 추출하고자 하는데,
정규식 작성이 잘 되지 않네요..
고수님들의 조언 부탁드립니다.<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]</div>
링크를 세부분으로 나누어 추출하려고 합니다.
다음과 같은 html 내용이 있을때,
**************************************************************
<a target=_blank href='http://www.naver.com'>네이버</a>
<area shape="RECT" target="_blank" coords="10,10,135,60" href="http://www.daum.net" />
**************************************************************
1. <a 혹은 <area 태그 내용
(예: <a target=_blank href='http://www.naver.com'> )
2. 1내용중 href의 내용
(href내용은 큰따옴표 혹은 작은따옴표로 감싸지거나 그냥 링크만 있을수도..)
3. <a 혹은 <area 의 텍스트내용
(위 html의 첫째줄에서는 네이버, 둘째줄에서는 공백이 되겠네요.)
이 세 내용을 preg_match_all 함수와 정규식을 이용해 추출하고자 하는데,
정규식 작성이 잘 되지 않네요..
고수님들의 조언 부탁드립니다.<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]</div>
댓글 2개
15년 전
내공이 부족해서 preg_match_all 은 못하겠네요.
<?
$s =<<<HTMLCODE
<a target=_blank href='http://www.naver.com'>네이버</a>
<area shape="RECT" target="_blank" coords="10,10,135,60" href="http://www.daum.net" />
HTMLCODE;
preg_match("/(\<a[^\>]*\>)/i", $s, $match1);
preg_match("/href\=[\"\']?([^\"\'\s\>]+)/i", $match1[1], $match2);
preg_match("/\<a[^\>]*\>(.*)\<\/a/i", $s, $match3);
?>
<textarea rows=10 cols=100><?print_r($match1)?></textarea>
<textarea rows=10 cols=100><?print_r($match2)?></textarea>
<textarea rows=10 cols=100><?print_r($match3)?></textarea>
<?
$s =<<<HTMLCODE
<a target=_blank href='http://www.naver.com'>네이버</a>
<area shape="RECT" target="_blank" coords="10,10,135,60" href="http://www.daum.net" />
HTMLCODE;
preg_match("/(\<a[^\>]*\>)/i", $s, $match1);
preg_match("/href\=[\"\']?([^\"\'\s\>]+)/i", $match1[1], $match2);
preg_match("/\<a[^\>]*\>(.*)\<\/a/i", $s, $match3);
?>
<textarea rows=10 cols=100><?print_r($match1)?></textarea>
<textarea rows=10 cols=100><?print_r($match2)?></textarea>
<textarea rows=10 cols=100><?print_r($match3)?></textarea>
JY소프트
14년 전
preg_match_all 로 만들어 봤습니다.
preg_match_all("/(<a[^>]*href=[\"']?([^>\"'\s]+)[\"']?[^>]*>)([^<]*)/i", $s, $out1);
echo "<xmp>";
print_r($out1);
echo "</xmp>";
Array
(
[0] => Array
(
[0] => <a target=_blank href='http://www.naver.com'>네이버
[1] => <area shape="RECT" target="_blank" coords="10,10,135,60" href="http://www.daum.net" />
)
[1] => Array
(
[0] => <a target=_blank href='http://www.naver.com'>
[1] => <area shape="RECT" target="_blank" coords="10,10,135,60" href="http://www.daum.net" />
)
[2] => Array
(
[0] => http://www.naver.com
[1] => http://www.daum.net
)
[3] => Array
(
[0] => 네이버
[1] =>
)
)
preg_match_all("/(<a[^>]*href=[\"']?([^>\"'\s]+)[\"']?[^>]*>)([^<]*)/i", $s, $out1);
echo "<xmp>";
print_r($out1);
echo "</xmp>";
Array
(
[0] => Array
(
[0] => <a target=_blank href='http://www.naver.com'>네이버
[1] => <area shape="RECT" target="_blank" coords="10,10,135,60" href="http://www.daum.net" />
)
[1] => Array
(
[0] => <a target=_blank href='http://www.naver.com'>
[1] => <area shape="RECT" target="_blank" coords="10,10,135,60" href="http://www.daum.net" />
)
[2] => Array
(
[0] => http://www.naver.com
[1] => http://www.daum.net
)
[3] => Array
(
[0] => 네이버
[1] =>
)
)
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 730 |
|
19년 전 | 2719 | |
| 729 |
그레이스웹
|
19년 전 | 3512 | |
| 728 |
|
19년 전 | 2680 | |
| 727 |
|
19년 전 | 2521 | |
| 726 |
|
19년 전 | 2336 | |
| 725 |
|
19년 전 | 2236 | |
| 724 |
|
19년 전 | 2130 | |
| 723 |
|
19년 전 | 4255 | |
| 722 |
|
19년 전 | 2669 | |
| 721 |
|
19년 전 | 2163 | |
| 720 |
|
19년 전 | 2257 | |
| 719 |
|
19년 전 | 2843 | |
| 718 |
|
19년 전 | 1958 | |
| 717 |
|
19년 전 | 3194 | |
| 716 |
|
19년 전 | 2749 | |
| 715 |
|
19년 전 | 2260 | |
| 714 |
|
19년 전 | 1816 | |
| 713 |
|
19년 전 | 2235 | |
| 712 |
|
19년 전 | 2009 | |
| 711 |
|
19년 전 | 1900 | |
| 710 |
|
19년 전 | 2463 | |
| 709 |
|
19년 전 | 2321 | |
| 708 |
|
19년 전 | 3884 | |
| 707 |
|
19년 전 | 3734 | |
| 706 |
|
19년 전 | 2236 | |
| 705 |
|
19년 전 | 3279 | |
| 704 |
|
19년 전 | 1952 | |
| 703 |
|
19년 전 | 2382 | |
| 702 |
|
19년 전 | 2275 | |
| 701 |
홀로남은자
|
19년 전 | 2343 | |
| 700 |
홀로남은자
|
19년 전 | 2179 | |
| 699 | 19년 전 | 2813 | ||
| 698 |
|
19년 전 | 2828 | |
| 697 |
|
19년 전 | 3170 | |
| 696 |
|
19년 전 | 3040 | |
| 695 |
|
19년 전 | 2703 | |
| 694 |
|
19년 전 | 2928 | |
| 693 |
|
19년 전 | 3181 | |
| 692 |
|
19년 전 | 2876 | |
| 691 |
|
19년 전 | 2621 | |
| 690 | 19년 전 | 2924 | ||
| 689 | 19년 전 | 4509 | ||
| 688 | 19년 전 | 2433 | ||
| 687 | 19년 전 | 2447 | ||
| 686 | 19년 전 | 3477 | ||
| 685 | 19년 전 | 3159 | ||
| 684 | 19년 전 | 2809 | ||
| 683 | 19년 전 | 2052 | ||
| 682 | 19년 전 | 1773 | ||
| 681 | 19년 전 | 2876 | ||
| 680 | 19년 전 | 1717 | ||
| 679 | 19년 전 | 2310 | ||
| 678 | 19년 전 | 3959 | ||
| 677 | 19년 전 | 3730 | ||
| 676 | 19년 전 | 3453 | ||
| 675 | 19년 전 | 3406 | ||
| 674 |
|
19년 전 | 1566 | |
| 673 |
|
19년 전 | 1937 | |
| 672 |
|
19년 전 | 1857 | |
| 671 | 19년 전 | 2522 | ||
| 670 | 19년 전 | 4621 | ||
| 669 |
|
19년 전 | 2761 | |
| 668 |
|
19년 전 | 1916 | |
| 667 |
|
19년 전 | 1931 | |
| 666 |
|
19년 전 | 1823 | |
| 665 |
|
19년 전 | 2561 | |
| 664 |
|
19년 전 | 8175 | |
| 663 |
|
19년 전 | 2724 | |
| 662 |
|
19년 전 | 2788 | |
| 661 |
|
19년 전 | 3044 | |
| 660 |
|
19년 전 | 2201 | |
| 659 |
|
19년 전 | 2207 | |
| 658 |
|
19년 전 | 2170 | |
| 657 |
|
19년 전 | 2069 | |
| 656 |
|
19년 전 | 2259 | |
| 655 |
|
19년 전 | 2521 | |
| 654 |
|
19년 전 | 3076 | |
| 653 | 19년 전 | 2328 | ||
| 652 | 19년 전 | 1909 | ||
| 651 |
|
19년 전 | 2829 | |
| 650 | 19년 전 | 4999 | ||
| 649 | 19년 전 | 3499 | ||
| 648 | 19년 전 | 3456 | ||
| 647 | 19년 전 | 2971 | ||
| 646 | 19년 전 | 2390 | ||
| 645 | 19년 전 | 1489 | ||
| 644 | 19년 전 | 3133 | ||
| 643 | 19년 전 | 2010 | ||
| 642 |
|
19년 전 | 5380 | |
| 641 | 19년 전 | 2430 | ||
| 640 | 19년 전 | 3430 | ||
| 639 | 19년 전 | 2856 | ||
| 638 | 19년 전 | 1761 | ||
| 637 | 19년 전 | 3879 | ||
| 636 | 19년 전 | 2418 | ||
| 635 | 19년 전 | 2309 | ||
| 634 |
|
19년 전 | 3024 | |
| 633 |
|
19년 전 | 3299 | |
| 632 | 19년 전 | 2498 | ||
| 631 | 19년 전 | 2258 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기