[php] PHP 문자열 함수
addslashes()
1)’나 “가 있을 경우 \\를 붙여주는 함수
MySQL 서버안에 ‘를 넣을 수 없기 때문에 사용함. 문장을 검색시 “가 있으면 검색이 불안정함.
2)예제
<?
$kk = “사랑이 지나치면 ‘질투’가 된다”;
$pp = ‘질투가 지나치면 “미움”이 된다’;
$kk = addslashes($kk);
$pp = addslashes($pp);
echo $kk.”<br>”;
echo $pp.”<br>”;
$kk = stripslashes($kk);
$pp = stripslashes($pp);
echo $kk.”<br>”;
echo $pp.”<br>”;
?>
chr()
1)ASCII 번호를 읽어 문자를 반환하는 함수
2)예제
<?
echo “A부터 Z까지 출력”;
for($kk=65; $kk<91; $kk++)
{
echo(chr($kk));
}
?>
crypt()
1)문자열을 DES(Data Encryption Standard) 암호화 방법으로 변환하는 함수
2)예제
<?
$kk = “php”;
print(crypt($kk));
?>
echo()
1)하나 이상의 문자열을 출력하는 함수.
ereg()
1)정규식에서 주어진 패턴에 맞는지 대소문자를 구분하여 검사하는 함수.
정규표현식: 유닉스에서 유래된 것으로, 어떠한 문자열의 집합을 정확하게 나타내기 위한 표현 규칙임.
2)예제
<?
$kk = “Mbk2000 hello”;
$pattern = “^[A-Z]{5}”;
if (ereg($pattern, $kk))
{
echo (” \\”$kk\\” : 참<br>”);
} else {
echo (” \\”$kk\\” : 거짓<br>”); //
}
?>
ereg_replace()
1)정규식 문자열에서 특정문자를 대소문자를 구분하여 다른문자로 대체하는 함수.
2)예제
<?
$kk = “a Hello a Good Morning”;
$kk = ereg_replace(“a”, “<br>”, $kk);
echo $kk; //Hello 출력후 Good Morning를 출력함
?>
eregi()
1)정규식에서 주어진 패턴에 맞는지 대소문자를 구분하지 않고 검사하는 함수.
2)예제
<?
$kk = “Mbk2000 hello”;
$pattern = “^[A-Z]{5}”;
if (eregi($pattern, $kk))
{
echo (” \\”$kk\\” : 참<br>”); //
} else {
echo (” \\”$kk\\” : 거짓<br>”);
}
?>
eregi_replace()
1)정규식 문자열에서 특정문자를 대소문자를 구분하지 않고 다른문자로 대체하는 함수.
2)예제
<?
$kk = “a Hello A Good Morning”;
$kk = eregi_replace(“a”, “<br>”, $kk);
echo $kk; //Hello 출력후 Good Morning를 출력함
?>
explode()
1)문자열을 특정문자를 기준으로 나누어서, 배열로 저장하는 함수.
2)예제
<?
$kk = “추어탕 볶음밥 떡볶기”;
$pp = explode(” “, $kk);
echo $pp[0].”<br>”;
echo $pp[1].”<br>”;
echo $pp[2];
?>
htmlspecialchars()
1)특수문자들을 HTML 개체로 변환하는 함수
변환 가능한 문자로 & -> &로, ” -> “로, < -> <로, > -> >로 변환한다.
2)예제
<?
$fcontents = file(‘stdev2.php’); //파일의 내용을 배열로 받음.
while (list($loc_num, $loc_line) = each($fcontents))
{
echo “<b>Line $loc_num:</b> ” . htmlspecialchars( $loc_line ) . “<br>\\n”;
}
?>
join()
1)배열의 원소들을 문자열을 사용하여 연결하는 함수
2)예제
<?
$kk[0] = “쌍동이 “;
$kk[1] = “2”;
$kk[2] = ” 형제가 똑같아요.<p>\\n”;
echo join(“”, $kk); //쌍동이 2 형제가 똑같아요. 처럼 출력함.
echo join(“-“, $kk); //쌍동이 -2- 형제가 똑같아요. 처럼 출력함.
?>
preg_match()
1)패턴 검사를 하는 함수. 문자열을 비교해서 참이면 1을, 거짓이면 0을 반환한다.
2)예제
<?
$subject = “Go To School”;
$pattern = “/to/i”;
if (preg_match($pattern, $subject, $matches))
echo “맞는 패턴이 있습니다.(“.$matches[0].”)”; //맞는 패턴이 있습니다. (To) 가 출력됨.
else
echo “맞는 패턴이 없습니다.”;
?>
/to/i
to와 맞는 패턴(i는 대소문자 구분 안함 표시)
/[abc]/
a, b, c 중 어느 한 문자와 맞는 패턴
/[a-z]/
a부터 z까지 문자중 한 문자와 맞는 패턴
/[a-zA-Z]/
a부터 z까지, A부터 Z까지 중 한 문자와 맞는 패턴
/[^0-9]/
숫자가 아닌 다른 패턴
/[\\w]{3}/
일반 문자가 세 번 이상 연속으로 있는 패턴
/[\\d]{1,5}/
숫자가 1번 이상 5번 이하 연속으로 있는 패턴
//[\\W]{3,}/
일반 문자가 아닌 문자가 3번 이상 연속으로 있는 패턴
/?/
문자가 없거나 임의의 한 문자
/./
줄바꿈 문자가 아닌 임의의 문자
/+/
선행 패턴을 만족하는 문자(열)가 1번 이상 반복
/*/
선행 패턴을 만족하는 문자(열)가 1번 이상 반복
print()
1)문자열을 출력하는 함수
split()
1)정규식에서 문자열을 특정문자를 기준으로 나누어서, 배열로 저장하는 함수.
explode()함수와 같은 기능을 함.
2)예제
<?
$kk = “추어탕 볶음밥 떡볶기”;
$pp = split(” “, $kk);
echo $pp[0].”<br>”;
echo $pp[1].”<br>”;
echo $pp[2];
?>
strcmp()
1)이진 방식의 문자열을 비교하는 함수.
2)예제
<?
$kk = “Hello”;
$pp = “Good”;
if (strcmp($kk, $pp) == 0)
{
print(“같은 뜻”);
} else{
print(“다른 뜻”):
}
?>
stripslashes()
1)addslashes로 만든 문자열을 다시 환원하는 함수
2)예제
<?
$kk = “사랑이 지나치면 ‘질투’가 된다”;
$pp = ‘질투가 지나치면 “미움”이 된다’;
$kk = addslashes($kk);
$pp = addslashes($pp);
echo $kk.”<br>”;
echo $pp.”<br>”;
$kk = stripslashes($kk);
$pp = stripslashes($pp);
echo $kk.”<br>”;
echo $pp.”<br>”;
?>
strlen()
1)문자열의 길이를 구하는 함수
2)예제
<?
$kk = “Hello Hello”;
print(strlen($kk)); //11을 출력함
?>
str_replace()
1)문자열에서 특정문자를 다른문자로 대체하는 함수.
ereg_replace()함수보다 수행속도가 빠르다.
2)예제
<?
$kk = “a Hello a Good Morning”;
$kk = str_replace(“a”, “<br>”, $kk);
echo $kk; //Hello 출력후 Good Morning를 출력함
?>
substr()
1)문자열에서 일부분을 추출하여 출력하는 함수.
문자열에서 시작부분 이후로 길이만큼의 단어를 추출하여 출력함.
2)예제
<?
$kk0 = ‘abcdef’;
$kk1 = substr(“abcdef”, 1); //bcdef를 출력
$kk2 = substr(“abcdef”, 1, 3); //bcd를 출력
$kk3 = substr(“abcdef”, -1); //f를 출력
$kk4 = substr(“abcdef”, -2); //ef를 출력
$kk5 = substr(“abcdef”, -3, 1); //d를 출력
$kk6 = substr(“abcdef”, 1, -1); //bcde를 출력
echo “$kk<p>”;
echo “$kk1”;
?>