[jyuvenia]님이 남기신 글:
>
> 왕왕 초보가 질문 드리겠습니다.
>
> PHP 에서....
>
> $str1 = "abcdefg123456789"; 란 문자열이 있고
> $str2 = "cd";
> $str3 = "67"; 이라 할때....
>
> $str1 에서 str2와 str3사이의 문자열 값을 추출할려면 어떻게
해야 하죠?
>
> 단일 문자는 아주 쉬운데 문자열은 힘들군요.
>
> $str2 와 $str3 가 단일문자이건 문자열이건 한쪽은 단일문자
다른
>
> 한 쪽은 문자열이건 간에 상관없이 추출하려면 어떻게 해야
될까요?
>
> 또 추출 문자열 중에서 $str2 와 $str3는 포함 되어야 할 때도
있고
>
> 불포함 되어야 할때도 있습니다.
>
> 즉 포함이면 "cdefg1234567" 이며 불포함이면
"efg12345" 입니다.
>
> 이런 기능을 하는 함수를 작성할려고 합니다...
>
> 어떻게 해야 될까요? 아이디어가 부족해서 그런지 꽤
고생하고 있습니다.
>
> 도와 주시면 감사하겠습니다.
>
> 수고 하세요.
========================================
일정한 규칙이 있어야 합니다.
예를 들어 $str1에서 $str2가 $str3 보다 문자열 앞에 있다고
가정하면
Function Get_STR($str1,$str2,$str3,$include="0")
{
$str = eregi_replace("(.+)$str2","",$str1);
$str = eregi_replace("$str3(.+)$","",$str);
if($include) {
$str = "$str2" . "$str" . "$str3";
}
return $str;
}
---------------
포함시
$str = Get_Str($str1,$str2,$str3,1);
불포함시
$str = Get_Str($str1,$str2,$str3);
하면 되겠죠...
예제 :
http://www.linuxchannel.net/temp/str_temp.php
|