정규식 질문입니다. 정보
정규식 질문입니다.
본문
아무리해도 어려운 정규식..
<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);
처럼했는데... 소스자체가 틀렸는지 원하는 모양으로 안나오네요 ㅠ.ㅠ
무튼 졍규식 하나만 부탁 드립니다.(설명도 해주시면 무한 감사하겠습니다.)
<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 />";
이정두가 아닐까유 ㅋㅋㅋㅋ
테스트는 안해봤습니다 ㅋㅋㅋ
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><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>★★(화이트) (품절)
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>★★(화이트) (품절)
감사합니다.!
잘되네요!!
잘되네요!!
역시 고수는 무엇인가 다르네요!!
정말 감사합니다!
정말 감사합니다!