함수 3

substr(), strchr() 문자열을 잘라주는 함수

substr(문자열, 자르기 시작할 문자열 배열 수, 문자열의 길이)
strchr(문자열, 자르기 시작할 문자열)

문자열의 길이를 잘라주는 함수로 substr() 함수는 문자열에서 자르기를 시작할 위치를 왼쪽에서 부터 0,1,2,3,4,5... 로 시작하는 배열수로 설정하고, strchr()함수는 자르기 시작할 문자열의 문자로 위치를 표시한다.

문자열자를 배열수를 지정시에 영어, 기호 는 글자당 1byte이므로 0,1,2,3,4,5, 순으로 배열수를 설정하지만
한글은 2byte이므로 0,1 2,3 4,5 이런순으로 배열을 지정해야 한다.


아래의 예를 들어서 설명하자면

$a = "열심히 노력해서 부자가 되자 ";
$b = "열심히 노력해서 꿈을 이루자 ";

$str[0] = substr($a, 6); // 변수 a의 6번째를 잘라내고 출력한다. 열심히 01 23 45 이렇게 6byte를 차지 하며 열심히 를 제외하고 나머지를 출력하게 된다.
$str[1] = substr($a, 7, 7); // 공백을 포함 열심히 를 출력한다.
$str[2] = substr($a, -9); // 역으로 간다. 결혼하자의 끝에 공백을 포함 결혼하자 까지 를 출력한다.
$str[3] = substr($a, -16, 6); // 역으로 가서 미녀와 를 출력한다.

$str[4] = strchr($a, "노력"); 노력부터 출력한다.
$str[5] = strchr($b, "꿈"); 꿈부터 출력한다.


문자열의 공백을 제거하는 함수
chop() - 문자열의 뒷부분에 있는 공백을 제거해 주고
trim() - 앞과뒤의 공백을 제거해준다.
ltrim() - 앞의 공백 제거
rtrim() - 뒤의 공백 제거

문자열을 배열로 만드는 함수 explode()

문자열의 띄어쓰기 부분을 기준으로 배열로 만들어 주는 함수이다.
아래의 소스로 활용법을 보면

<?php
    $a = "안녕하세요 저의 이름은 데이비드 입니다.";
    $b = explode(" ",$a); //첫번째 인자는 공백으로 구분을 한다는 것이고 두번째는 대상체이다.
    $s=0;
    for($c = 0; $c <= 4; $c++){
        $s+=1;
        echo "$s. $b[$c] <br />";
    }
?>

explode를 갖고있는 $b의 이름으로 배열이 선언된다.즉 $b[0]의 값은 안녕하세요가 된다.

explode()에서 첫번째 값이 공백을 집어넣어서 그걸로 구분을 한다고했다. 그렇다면
다른 자신이 원하는 문자를 넣으면 그것을 인식하고 배열을 지정한다.
자신이 $a값을 임의로 지정해서 explode의 첫번째 인자를 바꾸어보면 쉽게 이해할수 있다.

문자열 변경 함수 : str_replace() 함수

str_replace("대상체","바꿀문자",대상 변수)

 <?php
 $a = "안녕하세요 저의 이름은 데이비드 입니다.";

 $b = str_replace("데이비드","아시모", $a); // $a의 안에 있는 데이비드를 아시모로 바꾼다
echo " $b <br />"; ?>

문자열 검색 함수 :preg_match()

임의의 문자열에서 찾을 문자열이 존재하면 1, 존지 하지 않으면 0을 반환해주는 함수이다.

preg_match(/찾을 문자열/, 검색할 문자열)

 <?php
 $a = "안녕하세요 저는 데이비드 입니다.";

 $b = "/저는/";

 $c = preg_match($b, $a);

 echo " $a  <br />";

 if($c){
  echo "검색결과 : {$b}를 찾았습니다. <br />";
 }

 else{
  echo "찾지못했습니다. ";
 }
 ?>

문자 검색 함수 ereg(), eregi()
현재 사용하지 않는 함수
eregi() - 알파벳의 대소문자 구별없이 검색
ereg() - 알파벳의 대소문자 구별하며 검색

ereg("찾고자 하는 문자", "임의의 문자열")
eregi("찾고자 하는 문자", "임의의 문자열")

그럼 아래의 소스로 활용예문을 보자

 <?php
 $a = "It was a great help ";
 $b = "GREAT";

 echo " 검색할 문자 {$a} <br />";
 echo " 찾을 문자 {$b} <br />";

 echo "erge 로 해봐요 대소문자 구별하는 함수에요 <br />";

 if(ereg($b, $a)){
  echo " $b 를 찾았습니다. <br />";
 }
 else{
  echo " $b 를 찾지 못했습니다. <br /> <br />";
 }

 echo "ergei 로 해봐요 대소문자 구별 안하는 함수에요 <br />";

 if(eregi($b, $a)){
  echo " $b 를 찾았습니다. <br />";
 }
 else{
  echo " $b 를 찾지 못했습니다. <br />";
 }
 ?>

문자열 비교 함수 : strcmp()

이 함수는 2개의 문자열을 비교하는데 2개의 문자열의 첫번째 글자의 아스키 코드값의 크기에 따라 비교를 한다.
$a > $b 참이면 1을 반환
$a = $b 이면 0을 반환
$a < $b 이면 -1을 반환


역슬래시 삽임과 제거 :
addslashes() - 문자열의 따옴표가 있는 자리에 역슬래시 삽입
stripslashes() - 역슬래시를 제거

$a = "you're my angel ";
$b = "you\re my angel ";
$add = addslashes($a);
echo " $add ";

$sub = stripslashes($b);

echo " $sub ";