PHP
2015.06.30 17:08

PHP 문자열 다루기

조회 수 27240 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print

  strstr(문자열, 찾을 문자) 

찾을 문자열이 나온 처음 위치부터 끝까지 반환.


$temp = '오늘도;달린다'; 

$tmp = strstr($temp , ';');

출력 : 달린다 



  stristr(문자열, 찾을 문자)

strstr과 달리 대소문자를 구별하지 않는다. 

만약 찾을 문자가 존재하지 않을 경우, FALSE를 반환한다. 


// ';' 기호가 있는 문장은 제외할 것 

if(stristr($temp, ';') == FALSE) fwrite($syn0, $temp."\t".$temp."\n"); 

else echo($temp . "<br/>");


  strchr(문자열, 찾을 문자)

strstr() 과 동일 



  strrchr(문자열, 찾을 문자)

찾을 문자가 마지막으로 나온 위치부터 끝까지 반환 



  strrpos(문자열, 찾을 문자)

찾을 문자가 마지막으로 나타나는 위치를 정수형으로 반환



  strlen(문자열)

문자열의 길이를 반환


$str = 'abcdef';

echo strlen($str); // 6

$str = ' ab cd ';

echo strlen($str); // 7

:띄어쓰기도 포함 한다


  strtr(문자열, 원래 문자, 바꿀문자)

문자열에서 특정 문자를 새로운 문자로 바꾼다. 

만약 바꿀 문자가 없을 경우, FALSE를 반환한다. 

$trans = array("h" => "-", "hello" => "hi", "hi" => "hello");

echo strtr("hi all, I said hello", $trans);

출력 : hello all, I said hi




붉은색은 자주 쓰는 함수

 ▶ 문자열 다듬기

 
 - trim(), ltrim(), chop()에서 지우는 공백은 스페이스, '\n'(줄바꿈), '\t'(가로 탭), '\v',

 ○ trim();
      - 문자열의 처음과 끝에 있는 공백을 지운다.

 ○ ltrim();
      - 문자열의 처음에 있는 공백을 지운다.
 ○ chop();
      - 문자열의 끝에 있는 공백을 지운다.
 
 
 
 ▶ 문자열 정돈
 
 ○ nl2br();
      - 문자열중 줄바꿈문자(\n)를 XHTML에서의 줄바꾸기인 <br/>태그로 바꾸어 준다.(4.0.5 이전의 HTML에서는 <br>태그)
 
 
 ▶ 문자열의 대소문자 관련 함수
 
 ○ strtoupper();
      - 모든 알파벳을 대문자로
 ○ strtolower();
      - 모든 알파벳을 소문자로
 ○ ucfirst();
      - 문장의 처음이 알파벳이면 그것만 대문자로
 ○ ucword();
      - 각 단어의 첫 알파벳을 대문자로
 
 
 
 ▶ 문자열 나누고 합치기
 
 ○ explode();
      - 지정 문자를 기준으로 문자열의 전, 후를 나누어 배열로 저장한다.
 
      ex) $email = 
'email@email.com';     $email_array = explode('@', $email);
           $email_array[0] → 'email';     $email_array[1] → 'email.com';
 
 ○ implode();, join();
      - 지정 문자를 기준으로 배열을 전, 후에 배치하여 문자열을 합친다.
 
      ex) $new_email = implode('@', email_array);     $new_email → 'email@email.com';
 
 
 
 ○ strtok();
      - 지정 토큰문자로 토큰화 해서 구분

ex)
     $token = strtok($feedbak, ' ') // 처음 토큰화 하기
      echo $token.'<br />';
      while ($token!= ''){
            $token = strtok(' '); // 두번째 토큰화 (토큰화하고 싶은)
            echo $token.'<br />'; 
       }

 ○ substr();
 
      - 문자열 중 특정 시작부분과 끝부분 사이의 문자열을 추출하는데 사용한다.
      ex) $test = 'PHP Webprogramming';
           $test1 = substr($test, 1);     $test2 = substr($test, -1);     $test3 = substr($test, 5, 8);     $test4 = substr($test, 4, -2);
 
           $test1 → 'HP Webprogramming'(앞에서 1번 부터)
           $test2 → 'g'(뒤에서 1번 부터)
           $test3 → 'ebprogra'(앞에서 5번부터 8개)
           $test4 → 'Webprogrammi'(앞에서 4번부터 뒤에서 2번까지)

 
 
 
 ▶ 문자열 비교하기
 
 ○ strcmp();
      - C언어에서의 함수와 같다. 앞의 문자열을 기준으로 같으면 0을, 우선순위가 높으면 -1을, 반대의 경우에는 1을 리턴한다.
      - 단, 대문자와 소문자의 경우 소문자가 우선순위가 더 높다.(ASCII코드의 대소관계를 생각하면 쉽다.)

 ○ strcasecmp();
      - C언어에서의 stricmp()와 같다. 두 문자열을 비교하는 것은 strcmp()와 같지만 대소문자를 구분하지 않는다.
 ○ strnatcmp(); & strnatcasecmp();
      - 이 두 함수는 문자열을 좀더 자연스러운 기준에서 비교한다.(strnatcmp("12","2")의 결과는 1이다.)
      - 이 두 함수의 차이는 대소문자의 구분여부이다.(이 두 함수의 차이는 case의 유무여부이다.)
 
 
 
 ▶ 문자열의 길이 확인하기
 ○ strlen();
      - C언어에서의 함수와 같다. 문자열의 길이를 정수값으로 리턴해준다.

 
 
 ▶ 문자열 안에서 문자열 찾기
 ○ strstr();
      - 문자열 안에서 특정 문자열과 일치하는 부분이 있는지 찾아내는데 쓰이는 함수이다.
      - 일치하는 문자열이 있을 때는 해당 문자열이나 문자를 포함하여 이후 문자열을 리턴한다.
      - 일치하는 문자열이 없을 시에는 false를 리턴한다.
 
      ex) $str='Lion sleep to night';     $res = strstr($str, 'sleep');
           $res → 'sleep to night'
 
 ○ stristr();
      - strstr()과 같으나 대소문자를 구분하지 않는다.(ABC, Abc, aBC모두 같은 것으로 취급한다.)
 
 ○ strchr();
      - strstr()과 같으나 문자열대신 문자를 찾는다.
 
 ○ strrch();
      - strchr()과 같으나 뒤에서 부터 일치하는 문자를 찾기 때문에 마지막으로 나타난 문자부터 문자열을 출력한다.
 
 
 
 ▶ 문자열의 위치 찾아내기
 
 ○ strpos();
      - 문자열 내에서 일치하는 문자열이나 문자를 찾아 문자열 대신 해당 위치를 숫자로 알려준다.
      ex) $test = 'Ice cream';     $res1 = strpos($test, 'a');     $res2 = strpos($test, 'e');
           $res1 → 7(0부터 시작한다.)     $res2 = 2(일치하는 문자나 문자열이 많을 경우 가장 앞의 것을 기준으로 한다.)
      ex) $test = 'Ice cream';     $res = strpos($test, 'e', 4);
           $res = 6(앞에서부터 4번째에 있는 c부터 해당문자열의 위치를 찾는다.)

     
 ○ strrpos();
 
      - strpos와 비슷하나 찾는 문자가 가장 마지막에 보이는 곳의 위치를 리턴한다.
       
 ※ 두 함수 모두 만약 문자열에 needle(찾는 문자나 문자열)이 없으면 false를 리턴하는데 PHP에서는 false를 0과 같다고 보기 때문에
 
      위치 0을 리턴한것인지 false를 리턴한 것인지 구분할 수가 없다. 이 문제는 === 연산자를 사용하여 해결할 수 있다.
 ex) $res = strpos('Hello world', 'H');     //이 경우에는 가장 앞에 'H'가 있기 때문에 0을 리턴하지만 PHP는 false와 구분하지 못한다.
 
      if($res === false)
           echo 'Not found';
      else
           echo 'Found at position 0';
 
 
 
 ▶ 문자열 대체하기
 
 ○ str_replace();
      - 문자열에서 문자열를 찾아 대체문자열로 바꾸어 리턴한다.
      ex) $test = 'Change';     $res = str_replace('g', 'c', $test);
           $res → 'Chance'

 
 ○ substr_replace();
      - 특정 위치의 문자열을 대체문자열로 바꾸어 리턴한다.
      ex) $test = 'Vitamin A'; $res = substr_replace($test, 'C', -1);
           $res → 'vitamin C'



1.addslashes(문자열)

:문자열이 작은따옴표나 큰따옴표 또는 역슬래시 같은 문자를 담고 있을 경우 이 문자 앞에 역슬래시 문자를 추가하여 준다.

 데이터베이스 질의어 사용시 따옴표 같은 문자의 중복으로 인한 오류를 피하기 위해 사용한다.


2.stripslashes(문자열)

:역슬래시 처리가 된 문자에서 역슬래시를 제거하여 원상태로 되돌린다.



3.htmlspecialchars(문자열)

사용자가 HTML 코드를 포함하는 문자열을 입력 전송했을 때 이 HTML 코드를  HTML 형태가 아닌 문자열 그대로 출력해 준다.



<textarea name=comment cols=50 rows=10></textarea>

텍스트 폼 안에  <a href="http://www.daum.net">이승혁</a> 를 입력한 후 전송했을 때 결과



echo  $comment;                                //  이승혁

echo htmlspecialchars($comment);      // <a href="http://www.daum.net">이승혁</a>


php.ini 중 magic_quotes_gpc 항목이 on일 경우:

<a href=\"http://www.daum.net\">이승혁</a>  로 출력된다.



4.nl2br(문자열)

:사용자가 입력한 문자열을 사용자가 입력한 그대로 줄바꿈 처리해 준다.



5.echo(문자열)

:입력한 문자열을 출력한다.



6.print()

:입력한 문자열을 출력한다.



7.sprintf(형식,변수)

:문자열을 지정한 형식으로 반환한다.

$a=18.2;

$b=7.4

sprintf("%03.2f - %0.2f", $a, $b) 

//025.6-10.08    : 뒤에 문자들을 처음 인자에 차례로 대입

%d:정수   %04d:네 자리로 출력하되 빈 공간은 0으로 채운다

%f:부동소수   %'x4.2f : 실수를 네 자리로 출력하되 빈 공간은 x로 채우고, 소수점 이하 2자리 출력

0 이외의 문자는 문자 앞에 '를 붙여준다.



8.printf (형식,변수)

:지정한 형식대로 문자 출력. sprintf()와 같다.



9.explode(구분자, 문자열 , [배열의 최대크기])

:문자열을 지정해 준 구분자로 분리하여 배열에 저장한다.



ex1:

$fruit="사과-귤-감-오렌지";

$name=explode("-", $fruit); //"$name[0]=사과 , $name[1]=귤, $name[2]=감, $name[3]=오렌지" 가 입력된다.



ex2:

$name=explode("-", $fruit, 3);   //$name[0]=사과, $name[1]=귤, $name[2]=감-오렌지

                                                배열최대크기가 3이므로 마지막 3번째 배열에 남은 모든 배열 값이 저장된다.(구분되지 않은채)







10.implode(구분자,문자열)

explode()와 반대의 기능으로 각 배열을 구분자로 연결하여 하나로 출력한다.



11.join (구분자, 문자열)

:implode()와 동일한 기능을 수행



12.split (패턴, 문자열, [배열의 최대크기])

:explode()함수와 비슷한 기능을 하지만, 구분자 대신 정규 표현식을 사용하여 좀 더 정교하게 문자열을 분리할 수 있다.



13.strcmp(문자열1, 문자열2)

:두 개의 문자열을 비교하여 일치하면 0, 일치하지 않으면 앞문자가 크면 1, 뒷문자가 크면 -1 반환



14.substr(문자열, 시작위치값, [추출할 길이])

:문자열의 일부를 추출할 때 사용한다.

시작 위치값: 양수이면 앞에서부터 음수이면 뒤에서 부터이다.

                  앞에서부터일 경우는 0, 뒤에서부터일 경우는 1부터 시작한다.

추출할 길이:음수이면 추출한 결과값에서 문자열의 끝에서 그 길이만큼을 잘라낸다.

                 생략시 지정한 시작 위치값부터 끝까지 추출한다.



substr("abcdefg", 1, 3)      //bcd

substr("abcdefg", -3)        //efg

substr("abcdefg", -3, -2)   //e

substr("abcdefg", 1, -3)     //bcd

substr("abcdefg", -6, -1)   //bcdef



15.strstr(문자열, 찾고자하는 문자열)

:전체 문자열에서 찾고자하는 문자열이 처음 나온 위치부터 끝까지 반환한다.



$email = 'user@example.com ' $domain = strstr($email, '@'); echo $domain; // @example.com 을 출력.



16.stristr(문자열, 찾고자하는 문자열)

:strstr()은 대소문자를 구별하지만 이 함수는 대소문자를 구분하지 않는다.



17.strchr(문자열, 찾고자하는 문자열)

:strstr() 함수의 별칭으로 strstr() 함수와 완전히 동일하다.



18.strrchr(문자열, 찾고자하는 문자열)

:전체 문자열을 검사하고 찾고자 하는 문자열이 마지막으로 나타나는 위치부터 끝까지 반환



19.strpos(문자열, 찾고자하는 문자열, [검색시작위치값])

:검색 대상 문자열이 처음으로 나타나는 위치를 정수형으로 반환한다.



20.strrpos(문자열, 찾고자하는 문자열)

:검색 대상 문자열이 마지막으로 나타나는 위치를 정수형으로 반환한다.



21.strlen(문자열)

:문자열의 길이를 반환한다.



22.strtolower(문자열)

:문자열을 소문자로 바꿔준다.



23.strtoupper(문자열)

:문자열을 대문자로 바꿔준다.



24.ucfirst(문자열)

:문자열의 첫 글자를 대문자로 바꾼다.



25.ucwords(문자열)

:문자열의 각 단어의 첫 글자를 대문자로 바꾼다.



26.strrev(문자열)

:문자열의 순서를 정반대로 바꾼다.



27.strtr(문자열, 원래 문자, 치환하고픈 문자)

:문자열에서 특정 문자를 새로운 문자로 바꾼다.



ex)

$str="a blue angel of Hyper world";

strtr($str, "angel", "seagull");   //a blue seagu of Hyper world  :5자리만 치환되고 나머진 무시

strtr($str, "angel", "sea");       // a blue seael of Hyper world   :3자리만 치환되고 나머진 원래 문자 그대로



ex)

$str="What a wonderful day";

$arr=ary("wonderful"=>"nice", "day"=>"night");

strtr($str, $arr)      //What a nice night : 배열 사용시 키에 해당하는 문자를 배열의 값으로 모두 치환한다.



28.str_replace(원래문자, 치환하고픈 문자, 문자열)

strtr()과 유사하나, 자리수를 따지지 않고 모든 문자를 그대로 치환한다.

ex)

$str=a blue angel of Hyper world

str_replace("angel", "seagull", $str);      //a blue seagull of Hyper world



29.chop(문자열)

:문자열 뒷부분의 공백을 제거한다.



30.trim(문자열)

:문자열 앞 뒤의 공백을 모두 제거한다.



31.ltrim(문자열)

:문자열 앞 부분 공백을 제거한다.



32.rtrim(문자열)

:문자열 뒷 부분 공백을 제거한다.



33.quotemeta(문자열)

:메타 문자 앞에 역슬래시 문자를 붙여 반환한다.

메타문자로 취급하는 문자: .  \\  +   *   ?   [  ^   ]   (   $   )



34.ord(문자열)

:문자열의 첫 번째 문자에 대한 아스키 코드값을 반환한다



35.chr(아스키코드값)

:아스키 코드값에 해당하는 문자를 반환한다.



36.parse_str(문자열)

:GET 방식으로 넘어오는 변수들을 따로 저장할 수 있다.



ex)

$str="page_num=1&key=php&keyoword=subject";

parse_str($str);             //page_num=1, key=php, keyword=subject 가 저장



37.strip_tags(문자열, [허용할 태그])

:인자로 전달받은 문자열에서 HTML과 PHP 태그를 모두 제거한 문자열을 반환한다.



38.ob_start()

출력버퍼링을 사용할 수 있도록 한다.



39.ob_get_contents()

:출력 버퍼에 저장되어 있는 내용을 반환한다.



40.ob_end_flush()

출력 버퍼에 저장되어 있던 내용을 비우고 출력 버퍼링 기능을 해제한다.



41.ob_end_clean()

:출력 버퍼의 내용을 비우고 버퍼링 기능을 해제한다.



42.flush()

:출력 버퍼의 내용을 비운다.



43.str_repeat(반복할 문자, 반복횟수)

:문자열을 지정한 횟수만큼 반복 출력한다.



44.substr_count(문자열, 특정문자)

문자열에서 특정문자열이 몇 번 반복 되었는지 횟수를 반환한다.



45.crypt(문자열)

:인자로 전달한 문자열을 암호화한다.



46.chunk_split(문자열, 기호삽입간격, 삽입할기호)

특정 문자열 길이마다 특정 기호를 붙여준다.



47.wordwrap(문자열, 길이, 구분자, 단어나눔여부)

지정한 문자열을 특정 구분자로 나누어준다.

단어나눔여부 : 1이상의 수를 지정시 한단어도 지정한 길이로 나누어준다.

                     지정하지 않았을 때는 하나의 단어는 지정한 길이를 초과하더라도 나누지 않는다.



$text = "A very long woooooooooooord."; wordwrap($text,2,"<br>")     //A-very-long-woooooooooooord. wordwrap($text,2,"*",1);     //A*ve*ry*lo*ng*wo*oo*oo*oo*oo*oo*or*d.


48.bcsub(앞문자, 뒷문자, [소수점이하자리수])

앞에 숫자에서 뒤의 숫자를 뺀 값을 문자열로 반환한다.

이때 결과 값은 지정한 소수점 이하 자리수까지 계산되며 미지정시 정수로 반환된다




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
<!--?
/*
PHP 문자열 함수
 
 ● 문자열 다듬기
 - trim(), ltrim(), chop()에서 지우는 공백은 스페이스, '\n'(줄바꿈), '\t'(가로 탭), '\v',
 
*/
  $str = trim($str); //문자열의 처음과 끝에 있는 공백을 지운다.
 
  $str = ltrim($str);// 문자열의 처음에 있는 공백을 지운다.
   
  $str = chop($str); // 문자열의 끝에 있는 공백을 지운다.
 
/* ● 문자열 정돈 */
 
  $str = nl2br($str); //문자열중 줄바꿈문자(\n)를 XHTML에서의 줄바꾸기인 <br/-->태그로 바꾸어 준다.(4.0.5 이전의 HTML에서는
<span id="callbacknestghkdxodntistorycom255630" style="width:1px; height:1px; float:right"><embed allowscriptaccess="always" id="bootstrapperghkdxodntistorycom255630" src="http://ghkdxodn.tistory.com/plugin/CallBack_bootstrapperSrc?nil_profile=tistory&nil_type=copied_post" width="1" height="1" wmode="transparent" type="application/x-shockwave-flash" enablecontextmenu="false" flashvars="&callbackId=ghkdxodntistorycom255630&host=http://ghkdxodn.tistory.com&embedCodeSrc=http%3A%2F%2Fghkdxodn.tistory.com%2Fplugin%2FCallBack_bootstrapper%3F%26src%3Dhttp%3A%2F%2Fs1.daumcdn.net%2Fcfs.tistory%2Fresource%2F624%2Fblog%2Fplugins%2FCallBack%2Fcallback%26id%3D25%26callbackId%3Dghkdxodntistorycom255630%26destDocId%3Dcallbacknestghkdxodntistorycom255630%26host%3Dhttp%3A%2F%2Fghkdxodn.tistory.com%26float%3Dleft" swliveconnect="true"></span>태그)
 
/* ● 문자열의 대소문자 관련 함수 */
 
 $str = strtoupper($str); // 모든 알파벳을 대문자로
 
 $str = strtolower($str); // 모든 알파벳을 소문자로
 
 $str = ucfirst($str); //문장의 처음이 알파벳이면 그것만 대문자로
 
 $str = ucword($str); //각 단어의 첫 알파벳을 대문자로
 
 
 /* ● 문자열 나누고 합치기  */
 
 $str = explode($str); // 지정 문자를 기준으로 문자열의 전, 후를 나누어 배열로 저장한다.
 
/*
      ex)
      $phone = '010-1234-5678';
      $phone_array = explode('-', $phone);
      $phone_array[0] → '010';
      $phone_array[1] → '1234';
      $phone_array[2] → '5678';
*/
 
   $phone = implode('-', $phone_array);  //지정 문자를 기준으로 배열을 전, 후에 배치하여 문자열을 합친다.
   $phone = join('-', $phone_array);     // 위와 동일함
 
    //ex)  $phone = implode('-', $phone_array);     $phone → '010-1234-5678';
 
    /* ● 문자열 자르기 */
 
 $str = substr($str); //문자열 중 특정 시작부분과 끝부분 사이의 문자열을 추출하는데 사용한다.
 
 $str = 'PHP Webprogramming';
 
 $str1 = substr($str, 1); //'HP Webprogramming'(앞에서 1번 부터)
 $str2 = substr($str, -1); // 'g'(뒤에서 1번 부터)
 $str3 = substr($str, 5, 8); //'ebprogra'(앞에서 5번부터 8개)
 $str4 = substr($str, 4, -2); //'Webprogrammi'(앞에서 4번부터 뒤에서 2번까지)
            
 
 
/* ● 문자열 비교하기 */
 
 
$string = eregi($pattern, $string) // 대소문자 구분없이 검색
$string = "AbCdeFghiJ";
if(eregi("abcdefghij", $string))
echo "find!";
 
 
$string = ereg($pattern, $string) // 대소문자를 구분하여 검색
 
$string = "AbCdeFghiJ";
if(ereg("abcdefghij", $string))
echo "find!";
 
 
$str = strcmp($str);
  
$var1 = "Hello";
$var2 = "Hello";
if (strcmp($var1, $var2) == 0) {
   echo '대소문자 구분하며, 두문자가 같으면 0을 반환 합니다.';
}
  
 // C언어에서의 함수와 같다. 앞의 문자열을 기준으로 같으면 0을, 우선순위가 높으면 -1을, 반대의 경우에는 1을 리턴한다.
 // 단, 대문자와 소문자의 경우 소문자가 우선순위가 더 높다.(ASCII코드의 대소관계를 생각하면 쉽다.)
 
$str = strcasecmp($str);// C언어에서의 stricmp()와 같다. 두 문자열을 비교하는 것은 strcmp()와 같지만 대소문자를 구분하지 않는다.
  
$var1 = "Hello";
$var2 = "hello";
if (strcasecmp($var1, $var2) == 0) {
   echo '대소문자를 구별하지 않는 문자열 비교에서 $var1은 $var2와 동일합니다.';
}
  
 
/* ● 문자열의 길이 확인하기 */
$str = strlen($str); // C언어에서의 함수와 같다. 문자열의 길이를 정수값으로 리턴해준다.
 
 
/* ● 문자열 안에서 문자열 찾기 */
 
  $str = strstr($str,'search');
    $str='Lion sleep to night';    
    $res = strstr($str, 'sleep');
  $res 'sleep to night'
 
   //문자열 안에서 특정 문자열과 일치하는 부분이 있는지 찾아내는데 쓰이는 함수이다.
   //일치하는 문자열이 있을 때는 해당 문자열이나 문자를 포함하여 이후 문자열을 리턴한다.
   //일치하는 문자열이 없을 시에는 false를 리턴한다.
        
 
  $str = stristr($str,'search'); // strstr()과 같으나 대소문자를 구분하지 않는다.(ABC, Abc, aBC모두 같은 것으로 취급한다.)
  $str = strchr($str,'search'); // strstr()과 같으나 문자열대신 문자를 찾는다.
  $str = strrch($str,'search'); // strchr()과 같으나 뒤에서 부터 일치하는 문자를 찾기 때문에 마지막으로 나타난 문자부터 문자열을 출력한다.
 
 
 
 
 /* ● 문자열의 위치 찾아내기 */
 
    $str = strpos($str, 'char'); // 문자열 내에서 일치하는 문자열이나 문자를 찾아 문자열 대신 해당 위치를 숫자로 알려준다.
 
       $test = 'Ice cream';
       $res1 = strpos($test, 'a'); //7(0부터 시작한다.)
       $res2 = strpos($test, 'e'); //2(일치하는 문자나 문자열이 많을 경우 가장 앞의 것을 기준으로 한다.)
       $res = strpos($test, 'e', 4); //6(앞에서부터 4번째에 있는 c부터 해당문자열의 위치를 찾는다.)
 
       // ※ 이 예에서는 문자만 사용하였지만 문자열도 얼마든지 사용할 수 있다.
 
  
    $str = strrpos($str, 'char'); // strpos와 비슷하나 찾는 문자가 가장 마지막에 보이는 곳의 위치를 리턴한다.
 
       
 
     
 $res = strpos('Hello world', 'H');     //이 경우에는 가장 앞에 'H'가 있기 때문에 0을 리턴하지만 PHP는 false와 구분하지 못한다.
      if($res === false){
        echo 'Not found';
       }else{
        echo 'Found at position 0';
     }      
 //strrpos()는 strpos()와 달리 문자만 사용할 수 있다.
 // 두 함수 모두 만약 문자열에 needle(찾는 문자나 문자열)이 없으면 false를 리턴하는데 PHP에서는 false를 0과 같다고 보기 때문에
 //위치 0을 리턴한것인지 false를 리턴한 것인지 구분할 수가 없다. 이 문제는 === 연산자를 사용하여 해결할 수 있다.
 
 
 /* ● 문자열 대체하기 */
 
 $res = str_replace('g', 'c', $test); // 문자열에서 문자열를 찾아 대체문자열로 바꾸어 리턴한다.
 
  $test = 'Change';
  $res = str_replace('g', 'c', $test); // 'Chance'
 
 $res = substr_replace($test, 'C', -1); // 특정 위치의 문자열을 대체문자열로 바꾸어 리턴한다.
  
 $test = 'Vitamin A';
 $res = substr_replace($test, 'C', -1); // 'vitamin C'
          
 
?>


Dreamy의 코드 스크랩

내가 모으고 내가 보는

List of Articles
번호 분류 제목 날짜 조회 수 추천 수
330 C# Web URL로부터 파일 다운로드 하기 2015.08.20 22173 0
329 Android Android sdk 번호(Api level)와 버전 정리 2015.08.05 39008 0
328 C# 윈도우 App 설정값 유지하기 (Properties.Settings.Default. , Settings.settings 이용) 2015.08.03 18923 0
327 Android Fake Incoming Call Android 2015.07.23 9452 0
326 Pi 라즈베리 파이 B+ GPIO file 2015.07.12 14343 0
» PHP PHP 문자열 다루기 2015.06.30 27240 0
324 C# Thread 클래스 파라미터 전달 2015.06.04 30813 0
323 Android android pm 명령어 정리 2015.06.01 15675 0
322 C# How to: Programmatically Add an Entry to Outlook Contacts 2015.05.27 9027 0
321 Android Git 특정 commit 상태로 되돌리고 SHA1 값 알아내기 2015.05.13 8812 0
320 일반 Common LDAP Queries 2015.05.13 8440 0
319 Android Android Packet Dump (tcpdump로 실시간 packet 잡기) 2015.05.06 23417 0
318 LINUX [Shell Script] 쉘 스크립트 함수에서 return값 반환 2015.04.30 25905 0
317 LINUX [Shell Script] 쉘 프로그래밍을 위한 명령어 file 2015.04.30 9768 0
316 Android adb로 display 해상도 조정 2015.04.22 12888 0
목록
Board Pagination ‹ Prev 1 ... 8 9 10 11 12 13 14 15 16 17 ... 34 Next ›
/ 34

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

불러오는 중···