프로그램/php2015. 1. 30. 10:51

//=== 문자열 공백 전부 없애기
// $str : 문자열
// 반환 : 문자열
function rtn_str_replace($str) {
    return str_replace(" ", "", $str); // 빈칸 없애기

}

 

$str = " 1,2, 3,4 , 5 ";

echo "<br />문자열 공백삭제=" . rtn_str_replace($str);

 


결과> 

Posted by 은둔고수
프로그램/php2014. 4. 21. 00:04

형이 맞지 않아 위치값을 알 수 없어 발생하는 문제로 올바른 형(문자형, 숫자형, string, int, 기타 등등)으로 변환한다.

 

에러 발생 예>

<?

$link = 'okkks.tistory.com';

$i = '4';
$i = (float)$i;

echo "<br />결과 = " . $link[$i];
?>

 

[결과]

Notice: String offset cast occured in 문제가 발생한 파일 경로 on line 줄 번호

결과 : s

 

 

 

수정 예>

<?

$link = 'okkks.tistory.com';

$i = '4';
$i = intval($i);

echo "<br />결과 = " . $link[$i];
?>

 

[결과]

결과 : s

 

참고> $link{$i} 형식으로도 사용할 수 있다.

Posted by 은둔고수
프로그램/php2013. 4. 11. 16:42

php를 이용해서

문자열에 일정 숫자 간격마다 글자나 빈칸 등을 삽입하고 싶다면

function str_insert_pattern($str, $len)

{

$ereg = "[^ \n<>]{".$len."}";

return eregi_replace($ereg, "\\0\n", $str);    // 대소문자 구분안함

}

 

사용예>

$str = 'abcdefghijklmnopqrstuvwxyz';

$len = 5;

$ret = str_insert_pattern($str, $len);

echo '결과 : ' . $ret;

결과 : abcde fghij klmno pqrst uvwxy z

 

php 5.3.x 이후부터는 ereg, eregi, ereg_replace, eregi_replace를 더이상 지원하지 않는다.

대체 방법으로 preg_match, preg_replace를 사용할 수 있다.

 

$preg = "/[^ \n<>]{".$len."}/i";    // 대소문자 구분안함 : "/i"

return preg_replace($preg , "\\0\n", $str);

Posted by 은둔고수
프로그램/php2009. 7. 14. 21:51

[php-함수]PHP 문자열 함수 관련


strlen() : 문자열 길이 리턴

<?

$char="php_sample";

echo strlen($char);

?>

 

addslashes() : 문자열에 포함된 [작은따옴표], [큰따옴표], [역슬래시]에 해당

                               하는 문자가 있을 경우 그 앞에 역슬래시 문자를 추가 후 리턴

<?

$char="php_'sample";

echo addslashes($char);

echo "<br>";

$char="php_\sample";

echo addslashes($char);

?>

 

stripslashes() : 문자열에 [역슬래시]가 있을때 역슬래시를 제거 후 리턴

<?

$char="php_\'sample";

echo stripslashes($char);

?>

 

nl2br() : '\n' 문자를 <br>로 바꾼 후 리턴

<?

$char="member \n blog";
echo nl2br($char);
echo "<br>";

?>

 

number_format() : 문자열의 값을 금액 단위의 문자로 리턴

<?
$char=1234;
echo number_format($char);  //1,234
echo "<br>";
$char="";
echo number_format($char);  //0
echo "<br>";
$char=1234;
echo number_format($char,2); //1,234.00
?>

 

substr() : 문자열의 일부를 옵션에 맞게 리턴

<?

$char1=substr("abcdef", 0);  //abcdef

$char2=substr("abcdef", 1);  //bcdef

$char3=substr("abcdef", -1); //f

$char4=substr("abcdef", 0, 3); //abc

$char5=substr("abcdef", 2, 3); //cde

echo "$char1 <br> $char2 <br> $char3 <br> $char4 <br> $char5";

?>

 

strrchr() : 해당 문자열의 선택된 문자부터 마지막 문자까지 리턴

<?

$char1=strrchr("php_sample", "s"); //sample

$char2=strrchr("php_sample", "p"); //ple

$char3=strrchr("image.gif", "."); //.gif

echo "$char1 <br> $char2 <br> $char3";

?>

 

rand() : 정수형 임의의 값 리턴

<?

$char1=rand();

$char2=rand(0,5);

$char3=rand(1,100);

echo "$char1 <br> $char2 <br> $char3";
?>

 

uniqid() : 마이크로타임에 기반하여 중복되지 않는 고유한 값 리턴

<?

$char1=uniqid(2);

$char2=uniqid(2);

$char3=uniqid(rand());

echo "$char1 <br> $char2 <br> $char3";

?>

 

md5() : 중복되지 않는 고유값 리턴

                 (16진수 32문자 -> 고정된 크기의 값을 구할 수 있다)

<?

$char1=md5(2);

$char2=md5(rand());

$char3=md5(uniqid(rand()));

echo "$char1 <br> $char2 <br> $char3 <br>";

?>

 

htmlspecialchars() : 저장되는 문자열이 html로 적용되지 않도록 한다

<?

$char1="<";

$char2=">";

$char3="&";

echo htmlspecialchars($char1);  //&lt

echo "<br>";

echo htmlspecialchars($char2);  //&gt

echo "<br>";

echo htmlspecialchars($char3);  //&amp

?>

 

chop() : 문자열의 마지막 부분 공백을 지운 후 리턴

<?

$char1="php_sample ";

$char2="테스트";

$char3=" php_sample";

echo chop($char1);

echo chop($char2);

echo chop($char3);

?>

Posted by 은둔고수