XETOWN

질문/답변

웹에 관련된 질문과 답변을 나눌 수 있습니다.

 

 

<a href="/index.php?mid=test&document_url=15424">

에서 15424 만 뽑아내고 싶은데

 

/<a[^>]* href=(/[^0-9]*/s)\\1[^>]*>/is

이렇게 하면 다른 링크들까지 모조리 나와버리는데 document_url 뒤에 있는 숫자만 뽑으려면 

정규표현식을 어떻게 써야될까요

  • profile
    기진곰 2016.10.24 22:21:31

    /<a[^>]* href="[^">]*document_srl=([0-9]+)[^">]*"[^>]*>/is

     

    document_url이 아니라 document_srl입니다 ㅎㅎ

    근데 만약 짧은주소를 사용하신다면 저것도 안 되겠네요.

  • ?
    SimpleCode 2016.10.24 22:35:02
    정규표현식도 좋지만, 가끔은 고전적인 방법으로 접근하는 것이 쉬울 때도 있습니다.
    그냥 참고하시라고 올려봅니다.

    <?php
    function getData($url, $retrieve_key) {
    if(!$url) {
    return NULL;
    }

    $query = parse_url($url, PHP_URL_QUERY);
    if(!$query) {
    return NULL;
    }

    $pairs = explode('&', $query);

    foreach($pairs as $pair) {
    list($key, $value) = explode('=', $pair);

    if($key === $retrieve_key) {
    return $value;
    }
    }

    return NULL;
    }

    echo getData('/index.php?mid=test&document_srl=15424', 'document_srl');
    ?>
  • profile
    기진곰 2016.10.24 22:41:16

    글 쓰신 분은 링크 주소가 아니라 HTML 소스 전체를 갖고 작업하셔야 하는 상황인 것 같으니

    일단 정규식으로 링크를 모두 뽑아낸 후, 이런 함수를 사용해서 문서번호를 추출해 내도 되겠네요.

     

    explode 이하는 parse_str 함수로 대체하면 더욱 좋습니다 ㅎㅎ

  • profile
    포팅! 2016.10.24 22:40:07
    /<a[^>]*href="([^=]|[^0-9])*=([^a-zA-Z&])+([^=]|[^0-9])*">/is 라고 생각했지만...
    document_srl을 문자열으로 넣는다는 생각을 못했...ㅠ
  • profile
    GG 2016.10.24 22:56:46
    저도 어렵네요 ㅠㅠ
  • profile
    하늘희 2016.10.25 02:34:28
    (?:<a[^>]* href="[^">]*document_srl=)?([0-9]+)[^">]*"[^>]*>
  • profile
    라엘 2016.10.25 10:32:31
    preg_match("/document_url=([0-9]+)/", $input_line, $output_array);
    echo $output_array[1];

List of Articles
번호 분류 제목 최종 글
공지 질문/답변 답변을 확실히 받기위한 질문자 지침서 20  
3095 질문/답변 취약점 디렉토리 리스팅 관련 문의 입니다. 1 2016.10.25 수정 기진곰
3094 질문/답변 mysql UPDATE 이용시에 쌍따옴표 검색가능할까요? 9 2016.10.25 수정 고양이
3093 질문/답변 [네이버 사이트 등록] 도메인 리디렉션 문의 4 2016.10.25 수정 루딩
3092 질문/답변 네이버 아이디로 로그인-네이버 서비스 연동 해제시 Callback URL을 어떻게 입력해야하나요? 5 2016.10.25 수정 이성민
» 질문/답변 정규표현식 진짜 어렵네요 ㅠㅠ url 에서 글 번호만 뽑고싶은데 7 2016.10.25 수정 라엘
3090 질문/답변 사용하는 위젯의 MID와 모듈의 폴더명이 같은경우 6 2016.10.25 수정 이성민
3089 질문/답변 갤러리 masonry grid 플러그인 이용하시는분들 계신가요? 4 2016.10.24 수정 sami
3088 질문/답변 가끔 의문의 트래픽 초과문제 1 2016.10.24 수정 SimpleCode
3087 질문/답변 위젯페이지에 검색박스를 넣고싶습니다 2016.10.24 작성 스포
3086 질문/답변 갑자기 먹통이 되었습니다. 도와주세요.. 9 file 2016.10.24 수정 December
3085 질문/답변 긴급질문 호스팅 DB가 갑자기 안붙습니다. 2 2016.10.24 수정 투데이
3084 질문/답변 가입완료 페이지를 수동으로 설정 가능한 방법이 있을까요? 1 2016.10.24 수정 엘비스
3083 질문/답변 내 홈페이지 게시물을 7 2016.10.24 수정 포팅!
3082 질문/답변 혹시 구글뉴스 RSS 주소 아시는분 있으신가요? 2016.10.23 작성 보고하비
3081 질문/답변 회원 닉네임 클릭 시, 뜨는 리스트 제거 3 2016.10.23 수정 김제니
3080 질문/답변 xe 에디터 CkEditor 특수문자 추가 가능한가요? 2 2016.10.25 수정 마음의빈자리
3079 질문/답변 클라우드플레어 특정 국가 사용자 차단 방법이 궁금합니다. 4 2016.11.13 수정 미스터곽
3078 질문/답변 맴캐시를 tcp가 아닌 unix socket으로 구성 1 2016.10.23 수정 기진곰
3077 질문/답변 라이믹스에서 자기자신의 조회수가 집계되지 않게 2 2016.10.23 수정 람보
3076 질문/답변 이거 왜이럴까요? files 폴더에서 rm -rf cache 하는데 3 2016.10.22 수정 기진곰
Board Pagination Prev 1 ... 12 13 14 15 16 17 18 19 20 21 ... 171 Next
/ 171
위로
서버에 요청 중입니다. 잠시만 기다려 주십시오...