정규식 질문입니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

정규식 질문입니다. 정보

정규식 질문입니다.

본문

아무리해도 어려운 정규식..
<option value=''>색상선택</option>
<option value='' style='color: #CCCCCC;'>-------------------</option>
<option value='2661;0;★★(블랙)'>★★(블랙)</option>
<option value='2662;0;★★(핑크)  (품절)'>★★(핑크)  (품절)</option>
<option value='2663;0;★★(화이트)  (품절)'>★★(화이트)  (품절)</option>

이렇게 되어있는것을

색상선택<br>
★★(블랙)<br>
★★(핑크)  (품절)<br>
★★(화이트)  (품절)<br>
처럼 출력하고자 합니다.

preg_match("/<option value='(.*)?>(.*)?<\/option>/", $option, $match);
$option = str_replace($match[0], $match[2], $option);

처럼했는데... 소스자체가 틀렸는지 원하는 모양으로 안나오네요 ㅠ.ㅠ

무튼 졍규식 하나만 부탁 드립니다.(설명도 해주시면 무한 감사하겠습니다.)

댓글 전체

아 정규식은 너무 어렵지만,

if(preg_match("/<option[^>]* value=['|\"]([^\\1\040>]*)\\1[^>]*>(.+)<\/option>/is", $option, $match)) $str = $match[2]."<br />";

이정두가 아닐까유 ㅋㅋㅋㅋ
테스트는 안해봤습니다 ㅋㅋㅋ
답변감사합니다.
제가 했던것과 마찬가지로 결과값은
블랙</option><option value='12619;0;브라운'>브라운</option><option value='12622;0;옐로우'>옐로우</option><option value='12626;0;핑크'>핑크<br />
이 뜨네요 ㅠㅠ
$option=preg_replace("|<option value='' [^<].*---</option>|",'',$option);
preg_match_all("|<option value=[^>]+>(.*)</option>|iU", $option, $match);

print_r($match[1]);
아래와 같이 됩니다
 Array
        (
            [0] => 색상선택
            [1] => ★★(블랙)
            [2] => ★★(핑크)  (품절)
            [3] => ★★(화이트)  (품절)
        )
---------------
$str=implode("<br>", $match[1]);
echo $str;
아래와 같이 됩니다

색상선택<br>★★(블랙)<br>★★(핑크)  (품절)<br>★★(화이트)  (품절)
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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