WEB언어/PHP

php 문자열 자르기 substr() 함수 explode()

saltdoll 2014. 10. 26. 02:49
반응형

프로그램에서 문자열 처리는 대단히 많이 사용되는 부분이다.

문자열의 끝 문자만 자르는 경우의 사용이 매우 많이 사용된다.


가장 마지막 글자만 없애기

$peoples = "1,2,3,"

$peoples substr($peoples0, -1);


//결과 - 마지막 ,(컴마) 삭제

1,2,3


<?php
$rest 
substr("abcdef", -1);    // returns "f"
$rest substr("abcdef", -2);    // returns "ef"
$rest substr("abcdef", -31); // returns "d"
?>


이 경우, 500 (Internal Server Error)가 발생할 수 있습니다.

(해결 방법) 아래의 방법으로 하면 해결 됩니다.

$peoples = "1,2,3,"

$peoples substr($peoples0, strlen($peoples)-1);



참고: 어떤 곳은 mb_substr($sting, $start, $length, $encoding)를 하면 된다고 하는데, 저의 경우 500에러가 또 발생.

두 함수의 차이는 substr()는 single byte로 자르고, mb_substr은 multi byte로 자른다고 합니다.




string substr ( string $string , int $start [, int $length ] )

  • 주어진 문자열에서 시작부분에서 지정된 길이만큼 문자열 반환 (PHP4, PHP5)
  • 입력 문자열은 1글자 이상이여 한다
  • start는 0부터 시작하며, 음수(-)일경우 문자열 끝에서 -1부터 시작해서 문자열 끝까지 반환
  • length가 음수일경우 문자열 끝을 -1위치로 하여 시작된 위치부터 length 위치까지를 반환



explode

문자형을 분리하는 함수  (Split a String by String)

array explode ( string $delimiter , string $string [, int $limit ] )


예제

<?php
// Example 1
$pizza  "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces explode(" "$pizza);
echo 
$pieces[0]; // piece1
echo $pieces[1]; // piece2

// Example 2
$data "foo:*:1023:1000::/home/foo:/bin/sh";
list(
$user$pass$uid$gid$gecos$home$shell) = explode(":"$data);
echo 
$user// foo
echo $pass// *

?>


출처: http://php.net/manual/en/function.explode.php

반응형
도움이 되셨다면 하트모양의 "♡ 공감"을 눌러주시면 큰 격려가 됩니다.
(로그인하지 않으셔도 가능)