정규식 문의 드립니다.

정규식 문의 드립니다.

QA

정규식 문의 드립니다.

본문

안녕하세요.

 

<item name="color">#000000</item>

 

<item name="color">#FFFFFF</item>

 

으로 변경하는 php 정규식은 어떻게 되는지 도움을 받고 싶습니다.

 

 

 

이 질문에 댓글 쓰기 :

답변 2

다음과 같은 것을 원하시는지는 모르겠지만

참조하시죠.

$str = '<item name="color">#000000</item>';
$pattern = "#<item name=\"color\">(?P<color>[^<]+)<\/item>#i";

preg_match($pattern, $str, $matches);

if($matches['color'] == '#000000' || $matches['color'] == '#000'){
    $s = array("#000000", "#000");
    $r = array("#FFFFFF", "#FFF");
    $str = str_replace($s, $r, $str);
    echo $str;
}

정규식으로는


$content = '<item name="color">#000000</item>123<item name="color">#000000</item>';
$content = preg_replace('!<item name="color">#000000</item>!', '<item name="color">#FFFFFF</item>', $content);

 

이지만 별다른 규칙이 필요없다면 굳이 성능이 떨어지는 정규식을 사용할 필요는 없습니다.


$content = '<item name="color">#000000</item>123<item name="color">#000000</item>';
$content = str_replace('<item name="color">#000000</item>', '<item name="color">#FFFFFF</item>', $content);

컬러 색상값을 읽고,
컬러 값에 상응하는 새로운 값을 도출하여
변경하려고 합니다.
 
하여, 원본값 color 읽고, 그 이후 해당 값을 치환하고 싶습니다.
하여 str_replace 가 아닌 정규식이 필요로 합니다.

빠른 답변 감사드립니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 220
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT