정규식 질문입니다. > 그누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>★★(화이트)  (품절)
© SIRSOFT
현재 페이지 제일 처음으로