이런 것이 정규식이라는 것인가요? 정보
이런 것이 정규식이라는 것인가요?
본문
안녕하세요..아무것도 모르는 시하입니다...;;;
이전에 올려 놓은 스킨에 관해 재작업을 하는데...도통 모르는게 있어서 질문을 드립니다.
모든 list.skin.php를 보면 페이지를 나타내는 부분이 있습니다.
$write_pages = preg_replace("/<b>([0-9]*)<\/b>/", "<b><span style=\"color:#FFFFFF; \">$1</span></b>", $write_pages);
윗 부분인데요...제가 preg_replace라는 것에 대해 찾아보니...
앞에 있는 것을 뒤에 있는 것으로 바꿔써라 뭐 그런 것 같습니다.
즉 윗 문장을 보면 0~9까지의 숫자가 오면 진하게 하얀색깔의 색깔의 $1으로 바꿔라...라는 말인 것 같습니다.
여기서 질문입니다.
저는 윗 문장을 아래와 같이 고쳐썼는데요....
$write_pages = preg_replace("/<span>([0-9]*)<\/span>/", "<img src=./img/pad_yy/$1.gif>", $write_pages);
0에서 9까지의 숫자는 숫자.gif 파일로 잘 나옵니다. 그런데 10을 넘어가는 숫자는
당연하게 10.gif를 찾게 되는데....
이것을 1과 0으로 나누어서 쓸려면 어떻게 해야 하는지
고수분들의 가르침을 좀 받고 싶습니다.
preg_match_all 이니 str_replace 이니 다 찾아봐가며 머릴 굴려봐도
원래 모르던 사람이라 그런지 알 수가 없네요.
도와주세요..;;;
이전에 올려 놓은 스킨에 관해 재작업을 하는데...도통 모르는게 있어서 질문을 드립니다.
모든 list.skin.php를 보면 페이지를 나타내는 부분이 있습니다.
$write_pages = preg_replace("/<b>([0-9]*)<\/b>/", "<b><span style=\"color:#FFFFFF; \">$1</span></b>", $write_pages);
윗 부분인데요...제가 preg_replace라는 것에 대해 찾아보니...
앞에 있는 것을 뒤에 있는 것으로 바꿔써라 뭐 그런 것 같습니다.
즉 윗 문장을 보면 0~9까지의 숫자가 오면 진하게 하얀색깔의 색깔의 $1으로 바꿔라...라는 말인 것 같습니다.
여기서 질문입니다.
저는 윗 문장을 아래와 같이 고쳐썼는데요....
$write_pages = preg_replace("/<span>([0-9]*)<\/span>/", "<img src=./img/pad_yy/$1.gif>", $write_pages);
0에서 9까지의 숫자는 숫자.gif 파일로 잘 나옵니다. 그런데 10을 넘어가는 숫자는
당연하게 10.gif를 찾게 되는데....
이것을 1과 0으로 나누어서 쓸려면 어떻게 해야 하는지
고수분들의 가르침을 좀 받고 싶습니다.
preg_match_all 이니 str_replace 이니 다 찾아봐가며 머릴 굴려봐도
원래 모르던 사람이라 그런지 알 수가 없네요.
도와주세요..;;;
댓글 전체
안녕하세요 시하님 ^^* 저도 정규식을 잘 모르지만 시하님한테 덧글 한번 달고 싶어서 모자른 지식 써봅니다.
스킨 조은거 너무 많이 만들어 배포해주셔서 ^^ 조금이나마 도움이 되고자
$write_pages = preg_replace("/<b>([0-9]*)<\/b>/", "<b><span style=\"color:#FFFFFF; \">$1</span></b>", $write_pages);
즉 윗 문장을 보면 0~9까지의 숫자가 오면 진하게 하얀색깔의 색깔의 $1으로 바꿔라...라는 말인 것 같습니다.
라고 적으셨는데 <b>$blabla</b> 일때 $blabla가 0~9까지 즉 숫자로만 이루어졌다면
<b><span style=\"color:#FFFFFF; \">$1</span></b> $1위치에 $blabla를 대입해라 는 뜻입니다.
고로 $blabla 가 숫자와 영어 한글이 섞였다면 이 구문은 그냥 패스 되지요
이제 부터 저의 모자른 답변;; 그러니깐 12가 오믄 1.gif 2.gif 123이 오믄 1.gif 2.gif 3.gif 로 만들면 되는거죠?
echo $write_pages = "<span>1</span> <span>2</span> <span>3</span> <span>34</span> <span>345</span>";
echo "<br><br><br>";
function bla($matches)
{
$bb = $matches[1];
$aa = strlen($bb);
$cc = "";
for($i=0;$i<$aa;$i++){
$cc .= "<img src=./img/pad_yy/".substr($bb, $i, 1).".gif>";
}
return $cc;
}
echo preg_replace_callback("/<span>([0-9]*)<\/span>/","bla", $write_pages);
php 문서로 돌린다음 소스 보기 해보세요
원하시는게 맞는지 모르겠고... 제가 함수를 잘 사용한건지 모르겠고;;; 에잉 ㅠㅜ
스킨 조은거 너무 많이 만들어 배포해주셔서 ^^ 조금이나마 도움이 되고자
$write_pages = preg_replace("/<b>([0-9]*)<\/b>/", "<b><span style=\"color:#FFFFFF; \">$1</span></b>", $write_pages);
즉 윗 문장을 보면 0~9까지의 숫자가 오면 진하게 하얀색깔의 색깔의 $1으로 바꿔라...라는 말인 것 같습니다.
라고 적으셨는데 <b>$blabla</b> 일때 $blabla가 0~9까지 즉 숫자로만 이루어졌다면
<b><span style=\"color:#FFFFFF; \">$1</span></b> $1위치에 $blabla를 대입해라 는 뜻입니다.
고로 $blabla 가 숫자와 영어 한글이 섞였다면 이 구문은 그냥 패스 되지요
이제 부터 저의 모자른 답변;; 그러니깐 12가 오믄 1.gif 2.gif 123이 오믄 1.gif 2.gif 3.gif 로 만들면 되는거죠?
echo $write_pages = "<span>1</span> <span>2</span> <span>3</span> <span>34</span> <span>345</span>";
echo "<br><br><br>";
function bla($matches)
{
$bb = $matches[1];
$aa = strlen($bb);
$cc = "";
for($i=0;$i<$aa;$i++){
$cc .= "<img src=./img/pad_yy/".substr($bb, $i, 1).".gif>";
}
return $cc;
}
echo preg_replace_callback("/<span>([0-9]*)<\/span>/","bla", $write_pages);
php 문서로 돌린다음 소스 보기 해보세요
원하시는게 맞는지 모르겠고... 제가 함수를 잘 사용한건지 모르겠고;;; 에잉 ㅠㅜ

이렇게 도와주셔서 정말 감사합니다...^^
일단 원하는게 맞습니다. 지금 해보고 있는데...비슷하게 될랑 말랑 하고 있네요.
여기서 조금 더 머릴 굴려보면 될 것 같습니다.
다시한번 감사드립니다. ^________________^
일단 원하는게 맞습니다. 지금 해보고 있는데...비슷하게 될랑 말랑 하고 있네요.
여기서 조금 더 머릴 굴려보면 될 것 같습니다.
다시한번 감사드립니다. ^________________^

<?
$write_pages = "100";
$write_pages = preg_replace("/([0-9])/", "<img src='./img/\\1.gif'>", $write_pages);
echo $write_pages;
?>
$write_pages = "100";
$write_pages = preg_replace("/([0-9])/", "<img src='./img/\\1.gif'>", $write_pages);
echo $write_pages;
?>