웹 연동 기술 Yang-Sae Moon Department of Computer Science

Slides:



Advertisements
Similar presentations
제철고 프로그래밍언어 2015 가을학기 강의 #2 Python 변수, 입출력, 배열 박성우 POSTECH 컴퓨터공학과 2015 년 9 월 30 일.
Advertisements

Chapter 12. 배열. 배열  동일한 항목들이 동일한 크기로 연속적으로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는 자료 구조.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
1. 테스트 스크립트 작성 2. 간단한 패턴 정의하기 3. 수량자 사용하기 4. 문자 클래스 사용하기 5. 전체 매치하기 6. 변경자의 사용 7. 패턴 매치와 치환.
PHP 웹 프로그래밍 (PHP Web Programming) 웹 연동 기술 문양세 강원대학교 IT대학 컴퓨터과학전공.
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
DB 프로그래밍 학기.
Report #5 - due: 4/13 다음 10*5의 희소 행렬 A, B를 고려하라.
Ch.07-5 xml-rpc 사용하기 김상엽.
연결리스트(linked list).
제 9 장 구조체와 공용체.
10장 예외 Lab 10-1.
데이터 파일 C 데이터 파일과 스트림(Stream) 텍스트 파일 처리
조 병 규 Software Quality Lab. 한국교통대학교
제15장 파일 입출력 문자열을 출력하는 여러가지 방법 (15-2쪽) 문자열만 처리하는 입출력 함수
forms 객체 입력상자 체크상자, 라디오 버튼 목록상자
Heesang kim PL/SQL 3 Heesang kim.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
홈페이지용 그림 활용법 그림 삽입 태그 <IMG> 배경 그림 다루기 그림과 문자열의 어울림
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
11 표준 입출력과 파일 입출력 데이터를 읽고 쓰는 다양한 방법 익히기!.
6장. printf와 scanf 함수에 대한 고찰
제 13 장 JSTL 학기 인터넷비즈니스과 강 환수 교수.
컴퓨터 프로그래밍 : 실습3 2장 데이터와 식.
11장. 1차원 배열.
C#.
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
C 프로그래밍 C언어 (CSE2035) (Chap11. Derived types-enumerated, structure, and union) (1-1) Sungwook Kim Sogang University Seoul, Korea Tel:
JA A V W. 03.
인터넷응용프로그래밍 JavaScript(Intro).
이름 : 황 상 두 전화번호 : 이메일 : PinTool 이름 : 황 상 두 전화번호 : 이메일 :
기초 프로그래밍 Yang-Sae Moon Department of Computer Science
2018년 11월 05일 박성진 Web & Internet [08] 레이아웃 P1 2018년 11월 05일 박성진
Web & Internet [03] HTML5 다양한 태그
HTML5 Canvas 태그 92팸 유승연 안동찬 엄태인 김영재.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
24장. 파일 입출력.
쉽게 풀어쓴 C언어 Express 제14장 포인터 활용 C Express Slide 1 (of 22)
PHP 개요 및 설치 Yang-Sae Moon Department of Computer Science
유용한 PHP 함수들 Yang-Sae Moon Department of Computer Science
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
(Web Programming & Practice)
프로그래밍 원리 Chapter 05 자바스크립트 기초 신한대학교 IT융합공학부 박 호 균.
8장 쿠키와 세션 한빛미디어(주).
World Wide Web 중앙대학교 안 봉 현
PHP 웹 프로그래밍 (PHP Web Programming) 유용한 PHP 함수 문양세 강원대학교 IT대학 컴퓨터과학전공.
19장. navigator, history, location, string 객체
Homework #7 (1/4) 다음 프로그램을 작성하고, 프로그램과 실행 결과를 함께 제출한다.
웹(WWW).
PHP 웹 프로그래밍 (PHP Web Programming) 미리 정의된 함수 문양세 강원대학교 IT대학 컴퓨터과학전공.
세션 (Session) Yang-Sae Moon Department of Computer Science
제 06 장 JSP 액션 태그 학기 인터넷비즈니스과 강 환수 교수.
에어 PHP 입문.
Introduction to JSP & Servlet
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
13주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
Linux 9.X 기초에서 활용까지 Chapter 06 VI 편집기.
JSP Programming with a Workbook
함수, 모듈.
구조체(struct)와 공용체(union)
9 브라우저 객체 모델.
TrustNet 전자 협조전 사용설명서 목 차 작성,수정,삭제 결재함 처리현황 발송대장,접수대장
Excel 일차 강사 : 박영민.
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
어서와 C언어는 처음이지 제21장.
7 생성자 함수.
20 XMLHttpRequest.
Presentation transcript:

웹 연동 기술 Yang-Sae Moon Department of Computer Science Kangwon National University, Korea

URL 분석 (1/2) URL (Uniform Resource Locator) URL을 속성별로 분리하고자 할 경우 웹 연동 기술 URL (Uniform Resource Locator) 프로토콜, 호스트, 포트, 경로, 비밀번호, User 등의 정보를 포함 예. http://kim:3759@www.hostname.com:80/doc/index.html URL을 속성별로 분리하고자 할 경우 parse_url() 함수 사용 분리한 결과는 array에 저장(리턴) parse_url array parse_url (string url)

URL 분석 (2/2) 예제 (parse_url.php) <?PHP 웹 연동 기술 예제 (parse_url.php) <?PHP $parse_arr = parse_url (“http://kim:3579@www.hostname.com:80/doc/index.html”); print $parse_arr[host].”<br>”; print $parse_arr[port].”<br>”; print $parse_arr[path].”<br>”; print $parse_arr[user].”<br>”; print $parse_arr[pass].”<br>”; ?>

URL 내용 읽어오기 (1/4) 다른 홈페이지의 문서를 읽어오거나 URL 문서에서 필요한 정보를 추출하는 방법 웹 연동 기술 다른 홈페이지의 문서를 읽어오거나 URL 문서에서 필요한 정보를 추출하는 방법 fopen() 함수를 이용하여 매개 변수 위치에 URL을 삽입 홈페이지의 문서를 읽어와서 출력 (readsite1.php) <?PHP $fp = fopen (“http://kr.yahoo.com/”,”r”) or die (“요청하신 페이지를 읽어올 수 없습니다.”); while ($line = fgets($fp, 1024)) { print $line; } fclose ($fp); ?>

URL 내용 읽어오기 (2/4) 웹 연동 기술 수행 결과 (readsite1.php)

URL 내용 읽어오기 (3/4) 다른 방법 예제 (readsite2.php) 웹 연동 기술 다른 방법 fopen() 및 fgets() 대신에 readfile() 함수를 사용 readfile() 함수는 파일의 내용을 읽어서 바로 출력하기 때문에 별도의 읽기 및 출력 과정이 필요하지 않음 주의점: 파일의 이름을 넘겨주는 파라미터에 반드시 사용하는 프로토콜(http://)을 지정하는 부분이 들어가야 함 예제 (readsite2.php) <?PHP readfile (“http://www.daum.net/”); ?>

URL 내용 읽어오기 (4/4) 웹 연동 기술 수행 결과 (readsite2.php)

링크(link) 읽어오기 (1/3) 특정 사이트의 문서에 포함되어 있는 링크만을 읽어올 경우 웹 연동 기술 특정 사이트의 문서에 포함되어 있는 링크만을 읽어올 경우 <A HREF> 태그로 시작되는 부분을 읽어옴 (예: <A HREF=“http://cs.kangwon.ac.kr> ..) 정규 표현식을 사용하여 태그를 찾음 개념적 표현 형태: <, 임의의 문자들, a, 임의의 문자들, href=, 임의의 문자들, >, 임의의 문자들, </, 임의의 문자들, a, 임의의 문자들, > 순 정규 표현식 형태: “/<.*?a.*?href=.*?>.*<\/.*?a.*?>/”

링크(link) 읽어오기 (2/3) 예제 (parse_link.php) 웹 연동 기술 예제 (parse_link.php) <?PHP $fp = fopen (“http://www.hani.co.kr/”, ”r”) or die (“URL을 열수 없습니다.”); while ($str = fgets ($fp, 1024)) { if (preg_match_all (‘/<.*a.*href=.*>.*<\/.*a.*>/’, $str, $url_str)) foreach ($url_str[0] as $match) print $match.”<br>”; } ?> preg_match_all(string pattern, string subject, array matches): 스트링 subject에서 주어진 pattern을 모두 찾아서 배열 matches에 저장하는 함수 첫번째 매치가 배열 $matches[0]에 저장됨 (c.f., $matches[1]에는 서브 패턴이 저장됨)

링크(link) 읽어오기 (3/3) 웹 연동 기술 수행 결과

일반 텍스트 문서  HTML 문서 (1/6) 예상 문제점 예제 (linkexample.php) 특수문자의 처리 웹 연동 기술 예상 문제점 특수문자의 처리 예를 들어 ‘<’와 ‘>’ 사이에 있는 문자는 HTML에서 태그로 인식  변환이 필요 예제 (linkexample.php) grapes lemon <pear> mango <orange> apple <?PHP $text_array = file (“example.txt”) foreach ($text_array as $line) { print $line; } ?>

일반 텍스트 문서  HTML 문서 (2/6) 출력 결과 웹 연동 기술 출력 결과 <pear>와 <orange>가 출력되지 않았음  why? HTML에서 태그로 인식되었음

일반 텍스트 문서  HTML 문서 (3/6) HTML에서는, HTML에서 사용되는 엔티티들을 특수한 문자로 바꿀 경우 웹 연동 기술 HTML에서는, HTML 태그나 “엔터” 문자를 브라우저에서 인식하지 못함 이 문제점을 해결하기 위해서는 각 문자를 다른 기호로 나타내어야 함 공백 문자    <  < (lt means “less than”) >  > (gt means “greater than”) HTML에서 사용되는 엔티티들을 특수한 문자로 바꿀 경우 htmlentities() 사용 (c.f., 유사한 함수로 htmlspecialchars() 사용)

일반 텍스트 문서  HTML 문서 (4/6) htmlentities string: HTML로 변환하고자 하는 문자열 웹 연동 기술 htmlentities string: HTML로 변환하고자 하는 문자열 quota_style: “와 ‘ 중 어느 것으로 변환할 것인지 지정 charset: 문자열의 문자 집합 참조: http://kr.php.net/manual/kr/function.htmlentities.php string htmlentities (string string [,int quote_style [,string charset]]))

일반 텍스트 문서  HTML 문서 (5/6) nl2br 수정된 예제 (linkexample2.php) 웹 연동 기술 nl2br “엔터” 문자의 변환 (new line(“\n”)을 “<br>”로 변환하는 함수) 수정된 예제 (linkexample2.php) string nl2br (string string) <?PHP $text_array = file (“example.txt”) foreach ($text_array as $line) { print nl2br (htmlentities ($line)); } ?> file(): 파일 전체를 읽어서 배열에 저장하는 함수

일반 텍스트 문서  HTML 문서 (6/6) 웹 연동 기술 수행 결과

HTML 문서  일반 텍스트 문서 (1/2) HTML 문서를 일반 문서로 바꿀 경우 HTML 태그를 삭제하는 방법 웹 연동 기술 HTML 문서를 일반 문서로 바꿀 경우 HTML 문서의 모든 태그를 삭제 <br>을 “엔터”로 변환 HTML 태그를 삭제하는 방법 strip_tags() 함수를 사용 <br>을 엔터 문자로 변환하는 함수는 없음  정규 표현식 이용하여 변환 strip_tags: HTML 태그를 제거함 (http://kr.php.net/manual/kr/function.strip-tags.php) string strip_tags (string str [, string allowable_tags])

HTML 문서  일반 텍스트 문서 (2/2) 예제 (html2txt.php) 웹 연동 기술 예제 (html2txt.php) <html> <body> grapes lemon pear<br> mango orange apple </body> </html> <?PHP $html_file = file (“htmlexample.html”); $fp = fopen (“destfile.txt”, “w”); foreach ($html_file as $line) { $line = eregi_replace (“<.?br.?>”, “\n”, $line); $line = strip_tags ($line); fputs ($fp, $line); } fclose ($fp); ?> eregi_replace(): 주어진 패턴을 주어진 스트링으로 변환 (예: <br>  “\n”)