링크를 세부분으로 나누어 추출하려고 합니다.
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] =>
)
)
게시글 목록
| 번호 | 제목 |
|---|---|
| 21960 | |
| 21957 | |
| 25457 | |
| 21956 | |
| 25455 | |
| 21954 | |
| 21947 | |
| 21940 | |
| 21920 | |
| 21918 | |
| 851 | |
| 21915 | |
| 25447 | |
| 13921 |
jQuery
jquery 질문 또 하나 드릴깨요
3
|
| 21912 | |
| 21911 | |
| 21905 | |
| 21895 | |
| 21885 | |
| 21870 | |
| 21864 | |
| 21839 | |
| 21834 | |
| 13918 | |
| 25433 | |
| 846 | |
| 843 | |
| 21822 | |
| 21817 | |
| 21808 | |
| 21800 | |
| 25432 | |
| 21777 | |
| 25429 | |
| 13912 |
Flash
그누보드에 플래쉬 올리는 방법...
5
|
| 21765 | |
| 838 | |
| 21763 | |
| 833 | |
| 819 | |
| 25428 | |
| 13908 | |
| 21750 | |
| 815 | |
| 21728 | |
| 25424 | |
| 812 | |
| 13906 | |
| 29551 |
HTML
버튼이 먹지를 않아요.
1
|
| 21686 | |
| 25423 | |
| 810 | |
| 21661 | |
| 13905 |
JavaScript
타임 줘서 일정시간 멈추기
|
| 25422 | |
| 29545 |
HTML
RSS Reader 만들기
5
|
| 13904 |
JavaScript
input type=image 테두리(boder)값 없애기
|
| 13903 |
JavaScript
라디오버튼, 체크박스 테두리 없애기
|
| 25420 | |
| 21658 | |
| 13902 |
MySQL
phpBB의 한글인코딩
|
| 21654 | |
| 805 | |
| 802 | |
| 801 | |
| 25415 | |
| 25411 | |
| 797 | |
| 25410 | |
| 795 | |
| 13900 | |
| 21624 | |
| 25407 | |
| 25406 | |
| 25405 | |
| 21592 | |
| 780 | |
| 25403 | |
| 25402 | |
| 25401 | |
| 25400 | |
| 25393 | |
| 25392 | |
| 25391 | |
| 25389 | |
| 21588 | |
| 25385 | |
| 775 | |
| 25371 | |
| 25352 | |
| 771 | |
| 25351 | |
| 25350 | |
| 25347 | |
| 767 | |
| 25346 | |
| 21579 | |
| 21570 | |
| 760 | |
| 757 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기