정규식 html 태그제거
·
Development/PHP
preg_replace() 함수를 이용해서 정규식 치환하기 $strContent = preg_replace("(\]+)\>)", "", $strContent); # 모든 태그 제거 ( 공백으로 치환) $strContents_cp = preg_replace("(\]+)\>)", " ", $strContents_cp); # 치환 후 공백제거(2칸 이상인 공백 한칸으로 변경) $strContents_cp = preg_replace("/\s{2,}/"," ",$strContents_cp);
[PHP] 공백이 한 칸 이상일 때 공백 제거
·
Development
$str = preg_replace("/\s{2,}/"," ",$str); // 공백이 2개이상일때 한 개로 대체
[PHP] 날짜별 코드 정리
·
Development
// 날짜 (ex. 1시간 전, 1분 전, 1초 전, 어제, 1일 전, 1주 전, 1개월 전) $strDate = ""; if(substr_count($strDate, '시간 전')) { $intTime = trim( addslashes(strip_tags(str_replace("시간 전","",$strDate)))); $strDate = Date('Ymd',mktime(date('H')-$intTime,0,0,date('m'),date('d'),date('y'))); } else if(substr_count($strDate, '분 전')) { $intTime = trim( addslashes(strip_tags(str_replace("분 전","",$strDate)))); $strDate = Date(..
[PHP] 날짜별 코드 정리
·
Development
// 날짜 (ex. 1시간 전, 1분 전, 1초 전, 어제, 1일 전, 1주 전, 1개월 전) $strDate = ""; if(substr_count($strDate, '시간 전')) { $intTime = trim( addslashes(strip_tags(str_replace("시간 전","",$strDate)))); $strDate = Date('Ymd',mktime(date('H')-$intTime,0,0,date('m'),date('d'),date('y'))); } else if(substr_count($strDate, '분 전')) { $intTime = trim( addslashes(strip_tags(str_replace("분 전","",$strDate)))); $strDate = Date(..
인코딩 깨질 때
·
Development/PHP
1. DB connect 확인 # DB Connent $DB = new db4mysql(); $DB -> getConnection(); mysql_query ( 'set names utf8' ); // 추가 인코딩 깨질 때는 EUC-KR 일 수 있으니 확인하기 2. 파싱하는 경우, Content-Type 추가해주기(UTF-8) $strParse.= "Content-Type: text/html;charset=UTF-8\r\n"; 3. iconv 함수 사용 # DE(독일어) $strBody = iconv("ISO-8859-1","utf-8", $strBody); + #그래도 깨질 경우, 각각 iconv함수를 사용한다. $strWrite = iconv("ISO-8859-1","utf-8", $strWrite)..
[Crawler] post 방식의 json 파싱
·
Development/PHP
맨날 get 방식만 사용하다가 오랜만에 post방식 사용하려니 잘안되어서 머리 아팠는데 우여곡절에 해결 ㅎㅎ post 파싱이 안될때 ! 400 bad request 301 moved parameter 해결방법 경로 : 개발자도구(F12) > Network > Payload > Request Payload - postValue 값 넘겨주기 - postValueLen(:postValue의 길이) 넘겨주기 $strPOSTValueLen = strlen( $strPOSTValue ); 주의 : 값 넘겨줄 때 빈 값이 있으면 안됨. 파싱 전 입력한 데이터들 print_r로 찍어보기. - Referer 값 주기 더보기 POST subURL HTTP/1.1 Host: HostURL Content-Type: appli..
PHP 인젝션
·
Development/PHP
시작 로그인 기능을 사용 할 때 mysql_escape_string 함수를 사용하는 이유는 ? ex. mysql_escape_string($_POST[u_id]) 이는 인젝션을 방어하기 위한 가장 기본적인 부분이다. * 인젝션 : 해킹 또는 공격을 위한 의도적인 코드 변조(웹해킹의 한 종류) ex. SQL문 같은 경우 where절을 이용하여 조건을 준 후, 데이터를 받아오는데 그 과정에서 논리연산자(and, or, not 등)을 이용해서 코드를 변경하는 것 💬설명 # 1. 아이디/비밀번호가 맞는 계정정보를 받아오는 코드를 작성 SELECT * FROM users WHERE id = "$_POST['id']" AND pw = "$_POST['pw']" # 2. 악의적인 사용자는 $_POST['pw'] 의 ..