php 정규표현식 > PHP & Others

본문 바로가기
사이트 내 전체검색


회원로그인

오늘 178
어제 272
최대 618
전체 392,287
마음을 나누는 인터넷 일기장 - 통플 다이어리
PHP & Others

php 정규표현식

페이지 정보

작성자 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일16-03-11 17:36 조회3,178회 댓글0건

본문

정규표현식 문법

정규식결과
fooThe string “foo”
^foo“foo” at the start of a string
foo$“foo” at the end of a string
^foo$“foo” when it is alone on a string
[abc]a, b, or c
[a-z]Any lowercase letter
[^A-Z]Any character that is not a uppercase letter
(gif|jpg)Matches either “gif” or “jpeg”
[a-z]+One or more lowercase letters
[0-9.-]Ðny number, dot, or minus sign
^[a-zA-Z0-9_]{1,}$Any word of at least one letter, number or _
([wx])([yz])wy, wz, xy, or xz
[^A-Za-z0-9]Any symbol (not a number or a letter)
([A-Z]{3}|[0-9]{4})Matches three letters or four numbers

정규표현식을 사용하는 함수 

FunctionDescription
preg_match()문자열에 지정한 패턴이 존재하면 true, 아니면 false를 리턴
preg_match_all()지정한 패턴과 일치하는 모든 문자열을 배열에 저장
preg_replace()지정한 패턴과 일치하는 문자열을 교체
preg_split()패턴을 기준으로 문자열을 분리하려 배열로 리턴
preg_grep()배열중에 지정된 패턴을 포함하는 요소들을 배열로 리턴
preg_ quote()지정된 패턴 앞에 ''(역슬래쉬)를 추가한 문자열을 리턴.

자주 사용되는 함수들

 

// 도메인 유효성 검증

 

$url = "http://www.naver.com/";

if (preg_match('/^(http|https|ftp)://([A-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0-9_-]*)+):?(d+)?/?/i', $url)) {

    echo "Your url is ok.";

} else {

    echo "Wrong url.";

}

 

 

// 특정 문자의 강조

 

$text = preg_replace("/b(강조할문자)b/i", '<span style="background:#5fc9f6">1</span>', $text);

echo $text;

 

// 검색어에 효과주기

 

$title  = get_the_title();

$keys= explode(" ",$s);

$title  = preg_replace('/('.implode('|', $keys) .')/iu',

'<strong class="search-excerpt">\0</strong>', $title);

 

// 문서에 삽입된 모든 이미지 추출

 

$images = array();

preg_match_all('/(img|src)=("|')[^"'>]+/i', $data, $media);

unset($data);

$data=preg_replace('/(img|src)("|'|="|=')(.*)/i',"$3",$media[0]);

foreach($data as $url)

{

$info = pathinfo($url);

if (isset($info['extension']))

{

if (($info['extension'] == 'jpg') ||

($info['extension'] == 'jpeg') ||

($info['extension'] == 'gif') ||

($info['extension'] == 'png'))

array_push($images, $url);

}

}

 

// 반복 입력된 단어 제거

$text = preg_replace("/s(w+s)1/i", "$1", $text);

 

// 반복 입력된 부호 제거

$text = preg_replace("/.+/i", ".", $text);

 

// XML/HTML 태그 추출

 

function get_tag( $tag, $xml ) {

  $tag = preg_quote($tag);

  preg_match_all('{<'.$tag.'[^>]*>(.*?)</'.$tag.'>.'}',

                   $xml,

                   $matches,

                   PREG_PATTERN_ORDER);

 

  return $matches[1];

}

 

// 특정 속성을 포함하는 XML/HTML 태그 추출

 

function get_tag( $attr, $value, $xml, $tag=null ) {

  if( is_null($tag) )

    $tag = '\w+';

  else

    $tag = preg_quote($tag);

 

  $attr = preg_quote($attr);

  $value = preg_quote($value);

 

  $tag_regex = "/<(".$tag.")[^>]*$attr\s*=\s*".

                "(['\"])$value\\2[^>]*>(.*?)<\/\\1>/"

 

  preg_match_all($tag_regex,

                 $xml,

                 $matches,

                 PREG_PATTERN_ORDER);

 

  return $matches[3];

}

 

// 16진수 컬러값 체크

 

$string = "#555555";

if (preg_match('/^#(?:(?:[a-fd]{3}){1,2})$/i', $string)) {

echo "example 6 successful.";

}

 

 

// 웹페이지의 타이틀 추출

 

$fp = fopen("http://www.catswhocode.com/blog","r");

while (!feof($fp) ){

    $page .= fgets($fp, 4096);

}

$titre = eregi("<title>(.*)</title>",$page,$regs);

echo $regs[1];

fclose($fp);

 

// 아파치 로그 파싱

 

//Logs: Apache web server

//Successful hits to HTML files only.  Useful for counting the number of page views.

'^((?#client IP or domain name)S+)s+((?#basic authentication)S+s+S+)s+[((?#date and time)[^]]+)]s+"(?:GET|POST|HEAD) ((?#file)/[^ ?"]+?.html?)??((?#parameters)[^ ?"]+)? HTTP/[0-9.]+"s+(?#status code)200s+((?#bytes transferred)[-0-9]+)s+"((?#referrer)[^"]*)"s+"((?#user agent)[^"]*)"$'

 

//Logs: Apache web server

//404 errors only

'^((?#client IP or domain name)S+)s+((?#basic authentication)S+s+S+)s+[((?#date and time)[^]]+)]s+"(?:GET|POST|HEAD) ((?#file)[^ ?"]+)??((?#parameters)[^ ?"]+)? HTTP/[0-9.]+"s+(?#status code)404s+((?#bytes transferred)[-0-9]+)s+"((?#referrer)[^"]*)"s+"((?#user agent)[^"]*)"$'

 

// 겹따옴표를 홑따옴표로 교체

preg_replace('B"b([^"x84x93x94rn]+)b"B', '?1?', $text);

 

 

// 비밀번호 완성도 체크

//Tests if the input consists of 6 or more letters, digits, underscores and hyphens.

//The input must contain at least one upper case letter, one lower case letter and one digit.

'\A(?=[-_a-zA-Z0-9]*?[A-Z])(?=[-_a-zA-Z0-9]*?[a-z])(?=[-_a-zA-Z0-9]*?[0-9])[-_a-zA-Z0-9]{6,}\z'

 

// WordPress 이미지 표시

 

<?php if (have_posts()) : ?>

<?php while (have_posts()) : the_post(); ?>

 

<?php

$szPostContent = $post->post_content;

$szSearchPattern = '~<img [^>]* />~';

 

// Run preg_match_all to grab all the images and save the results in $aPics

preg_match_all( $szSearchPattern, $szPostContent, $aPics );

 

// Check to see if we have at least 1 image

$iNumberOfPics = count($aPics[0]);

 

if ( $iNumberOfPics > 0 ) {

     // Now here you would do whatever you need to do with the images

     // For this example the images are just displayed

     for ( $i=0; $i < $iNumberOfPics ; $i++ ) {

          echo $aPics[0][$i];

     };

};

 

endwhile;

endif;

?>

 

// 특정 이모티콘을 이미지로 교체

 

$texte='A text with a smiley :-)';

echo str_replace(':-)','<img src="smileys/souriant.png">',$texte);

[출처] php 정규표현식|작성자 칼리보

 

 

 

 

 

추천 0

댓글목록

등록된 댓글이 없습니다.

PHP & Others 목록

Total 192건 1 페이지
PHP & Others 목록
번호 제목 글쓴이 날짜 조회 추천
공지 PHP 튜닝과 최적화 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 05-01 42051 0
191 PHP 유용한 정규표현식 예제 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 10-16 9 0
190 php 섭씨 화씨 변환 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 01-16 2181 0
189 [Node.js] 배우는 방법 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 12-01 2188 0
188 정규표현식 pcre 문법, preg 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 11-29 2455 0
187 자바스크립트 escape unescape php 구현함수 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 11-16 2554 0
186 정규표현식 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 11-14 2309 0
185 preg_match 멀티라인 정규표현식 예제 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 11-14 2294 0
184 그누보드 게시판 입력제한 늘리기 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 11-10 3627 0
183 리눅스(Linux) php 쉘(Shell) 스크립트 실행하기, 백그라운드로 php 사용하기… 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 07-13 2722 0
182 스누피로 로그인하기(웹호스팅 트래픽정보 긁어오기) 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 05-04 2772 0
열람중 php 정규표현식 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 03-11 3179 0
180 curl 로그인 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 03-11 3639 0
179 PHP backticks shell command (``) 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 03-02 2849 0
178 변수에 저정된 값에 따른 조건문 결과 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 12-23 6112 0
177 3DES 암호화/복호화 예제 - 양방향 암호화 mcrypt_encrypt 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 01-22 11478 0
176 mysql password sha1 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 10-11 9595 0
175 php 암호화 복호화 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 08-20 12349 0
174 윈도우용 php 다운로드 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 03-01 7508 0
173 [PHP함수] mysql과 mysqli의 차이점 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 02-04 9866 0
게시물 검색

Copyright © nuno21.net All rights reserved. 상단으로
모바일 버전으로 보기