'Development/PHP'에 해당되는 글 12건

  1. PHP json_encode 활용하기
  2. PHP에서 https 연결인지 확인하기
  3. PHP 배열 value 기준으로 key 삭제하기
  4. PHP에서 startsWith, endsWith 사용하기
  5. PHP 개발 - 문자열 치환하기 str_replace
  6. PHP 개발 - HTML 태그나 스크립트의 작동을 막기 htmlspecialchars
  7. PHP 개발(explode) - 문자열을 구분자로 나누기 (1)
  8. PHP 개발 - 배열(array) 한줄로 출력하기
  9. PHP 개발 - 배열(array) 사용하기
  10. PHP 개발 - 문자열(String) 합치기

PHP에서는 배열을 JSON으로 변환할 수 있는 함수가 기본적으로 내장되어 있습니다. 이것이 옵션에 따라 JSON 출력의 결과가 달라집니다.



PHP json_encode 활용하기


JSON_UNESCAPED_UNICODE

유니코드 문자열을 대상으로 Escape를 해서 \uac00 이런 식으로 보이게 하지 않습니다.


  json_encode("가나다"); // 값 : "\uac00\ub098\ub2e4"

  json_encode("가나다",JSON_UNESCAPED_UNICODE); // 값 : "가나다"



JSON_FORCE_OBJECT

배열(Array)을 Object 형태로 변환합니다.

 json_encode(array('A','B','C')); // 값 : ["A","B","C"]

 json_encode(array('A','B','C'),JSON_FORCE_OBJECT); // 값 : {"0":"A","1":"B","2":"C"}


JSON_NUMERIC_CHECK

숫자로만 되어있는 문자열을 Int 형태로 변환시켜 줍니다.

json_encode(array('123','12A')); // 출력값 : ["123","12A"]

 json_encode(array('123','12A'),JSON_NUMERIC_CHECK); // 출력값 : [123,"12A"]


JSON_HEX_TAG

< 와 >와 같은 태그 기호들이 \u003C 와 \u003E 이런 식으로 변환되게 됩니다.

     json_encode("< >"); // 출력값 : "< >"

     json_encode("< >",JSON_HEX_TAG); // 출력값 : "\u003C\u003E"


여러 개 옵션을 동시에 사용하려면 '|' 기호를 사용하여서 할 수 있습니다.


 json_encode($array, JSON_NUMERIC_CHECK | JSON_UNESCAPED_UNICODE);


저작자 표시 비영리 동일 조건 변경 허락
신고

지금 통신하고 있는 상황이 일반 http인지 아니면 https 보안 연결 통신인지 PHP에서 확인할 수 있습니다.



PHP에서 https 연결인지 확인하기

아래와 같은 함수를 통해 Https 사용 여부를 판단합니다.

function isSecure() {
return
(!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off')
|| $_SERVER['SERVER_PORT'] == 443;
}



true 값을 반환하면 https 연결을, false 값을 반환하면 http 연결을 의미합니다.



저작자 표시 비영리 동일 조건 변경 허락
신고

보통 key를 토대로 배열을 관리하지만,  특정 배열값 기준으로 다루어야 하는 경우가 있습니다. 제시되는 값과 배열 값이 일치하면 배열 목록에서 key를 제거하는 함수입니다.


PHP  배열 value 기준으로 key 삭제하기



function arr_del($list_arr, $del_value) // 배열, 삭제할 값
{
$b = array_search($del_value,$list_arr);
if($b!==FALSE) unset($list_arr[$b]);
return $list_arr;
}


위 함수를 사용하면 해당하는 value는 배열에서 삭제되게 됩니다.


예제)


$array = array("A", "B", "C");



$array = arr_del($array, 'A');


print_r($array);


결과)


Array ( [1] => B [2] => C )


A가 value인 key는 삭제되었습니다.



저작자 표시 비영리 동일 조건 변경 허락
신고


startWith, endsWith는 ~로 시작하는 혹은 ~로 끝나는지 여부를 알수 있게 해주는 좋은 API입니다. 하지만 PHP에서는 이런 API를 따로 제공하고 있지 않아 불편한 점이 있습니다.

아래 함수를 사용하면 PHP에서도 Java나 C#처럼 사용할 수 있습니다.




PHP에서 startsWith, endsWith 사용하기


StartsWith

function startsWith($haystack, $needle) {
// search backwards starting from haystack length characters from the end
return $needle === "" || strrpos($haystack, $needle, -strlen($haystack)) !== false;
}


사용 예 : startsWith( 'abcdef' , 'a');

결과값 : true


EndsWith

function endsWith($haystack, $needle) {
// search forward starting from end minus needle length characters
return $needle === "" || (($temp = strlen($haystack) - strlen($needle)) >= 0 && strpos($haystack, $needle, $temp) !== false);
}


사용 예 : endsWith('abcdef', 'f');

결과값 : true


저작자 표시 비영리 동일 조건 변경 허락
신고

PHP에서 자신이 원하는 문자열을 다른 문자열로 대체하고 싶을 때 사용할 수 있습니다.


PHP 개발 - 문자열 치환하기 str_replace



만약에 문자열 "가나다라마바사"에서 "사"를 "가"로 바꾸고 싶다면


$value = "가나다라마바사";


echo str_replace("사", "가", $value); 



결과값은 "가나다라마바가"가 됩니다.


더 자세한 함수 정보는 아래 링크를 참고하세요.


http://www.php.net/manual/en/function.str-replace.php






도움이 되셨나요?

그럼 손가락을 눌러주세요:)

저작자 표시 비영리 동일 조건 변경 허락
신고

PHP를 활용하여 개발을 하다 보면 DB에 저장되어 있는 글을 가져와 표시해야할 때가 있습니다. 그럴때 DB 내용에 HTML 태그나 여타 스크립트가 포함되어 레이아웃이 사용자 임의대로 변경되거나 XSS 공격에 사용될 수 있습니다.


DB에서 불러올 때 문자열을 변환해 이런 태그나 스크립트의 작동을 막아주는 함수입니다.


 PHP 개발 - HTML 태그나 스크립트의 작동을 막기 htmlspecialchars



PHP 사용 예시

echo htmlspecialchars($content);



위와 같이 하면 만약에 $content 변수에 <script>를 집어넣으면 &lt;script&gt;로 변환되어 더이상 스크립트의 역할을 하지 못하게 됩니다.




하지만 사용자가 브라우저로 보는 상에서는 <script> 문자열로 잘 보입니다. 


주로 인터넷 게시판에서 글 작성시 스크립트로 동작하지 않고 문자열로 잘 보이는 것과 같은 원리입니다.(HTML 허용시는 당연히 예외)


이 함수에 대한 더 자세한 사용방법이나 설명은 PHP 사이트에서 확인할 수 있습니다.


http://docs.php.net/manual/en/function.htmlspecialchars.php












도움이 되셨나요?

그럼 손가락을 눌러주세요:)




저작자 표시 비영리 동일 조건 변경 허락
신고

단순한 문자열을 구분자를 기준으로 나눠 배열을 만들 수 있습니다.


PHP 개발 - 문자열을 구분자로 나누기



코드

$value = "가,나,다,라";


$array = explode(",", $value); //"," 부분이 구분자이며 $value 부분이 구분자로 나눌 문자열입니다.




결과


$array 안엔 ,을 기준으로

[0] => 가

[1] => 나

[2] => 다

[3] => 라


가 순서대로 들어간 배열이 생성됩니다.




도움이 되셨나요?

그럼 손가락을 눌러주세요:)



저작자 표시 비영리 동일 조건 변경 허락
신고

PHP 배열 있는 내용을 갯수에 상관없이 구분자를 사용하여 출력하는 방법입니다.


PHP 개발 - 배열(array) 한줄로 출력하기



1. 출력할 배열(Array)를 정의해줍니다.


$array = ("가나다", "라마바", "사아자");



2. implode 함수를 사용해서 출력합니다. ',' 부분은 구분자입니다. ','를 기준으로 배열을 출력합니다.


echo implode = implode(",", $array);



결과


가나다,라마바,사아자




도움이 되셨나요?

그럼 손가락을 눌러주세요.

저작자 표시 비영리 동일 조건 변경 허락
신고

배열(array) 요소는 개발하는데 있어서 자주 사용됩니다. 다른 언어와는 달리 PHP는 융통성이 좋기 때문에 간편하게 사용할 수 있습니다.


PHP 개발 - 배열(array) 사용하기



1. 배열 생성


$array = array("apple", "orange", "banana");


2. 배열 값 출력

$array[0]과 같은 방식으로 값을 출력할 수 있습니다.(0부터 시작)


echo $array[0].", ".$array[1].", ".$array[2];



결과 : apple, orange, banana







도움이 되셨나요?

그럼 손가락을 눌러주세요:)


저작자 표시 비영리 동일 조건 변경 허락
신고

무언가를 개발 시에 문자열을 합쳐야 할 경우가 꽤 많습니다. 자바(Java)및 다른 언어 같은 경우는 간편하게 "문자열" + "문자열" 이렇게 하면 되는데 PHP는 int와 String을 따로 정의하지 않기에 이렇게 하면 이상한 결과가 나옵니다.



PHP 개발 - 문자열(String) 합치기



PHP에서는 주로 문자열을 합칠때 '.'을 사용합니다.


$string = "문자열"."문자열";



위의 문자열 '$String'을 echo로 출력하게 하면 아래와 같이 출력됩니다.


문자열문자열








도움이 되셨나요?

그럼 손가락을 눌러주세요:)

저작자 표시 비영리 동일 조건 변경 허락
신고