第四屆國網盃軟體設計比賽初賽計畫書
專題報告書
以資料擷取工具實作個人化資訊入口網站
Building a Personalized Portal Website by using Data Extraction Tools
成員: 944906 吳家維
942825 蘇漢祐
942920 鄭旭凱
指導老師:陳隆彬 副教授
東海大學資訊工程與科學系
網際網路系統與服務實驗室
CONTENTS
1. 簡介
2. 背景
2.1伺服器軟體XAMPP
2.2 指令行工具cURL
2.3網頁應用技術
3. 系統架構
3.1 系統架構(資料庫SQL語法)
3.2 網頁架構圖
4. 系統開發 →(程式流程圖與說明)+程式碼
4.1 RSS資訊取得
4.2 TinyMCE網頁自行編排
4.3 cURL網頁資料擷取(重點)
4.4可拖曳排序的工作列表
5. 作品成果介紹 →(執行畫面說明)
6. 結論與未來發展
7. 人員
8. Reference
9. 附錄A-安裝XAMP 附錄B -正規表示式
1.簡介
我們一開始作此專題的目的,是想讓使用者能在一上網的時候,就可以得到想要的資訊內容,而不用拜訪每一個網站去取得資訊。舉例來說,我是一位學生,我對系網上老師的考試時間和重要公告是重要且必須閱讀的,另一方面,我對學校首頁的頭條新聞也很有興趣,那我們能不能一次就取得資料並且自由的編排網頁畫面,這樣可以減少、浪費時間,還可以省去一堆的步驟、廣告。
而我們所做的就是以cURL〈註一〉的技術擷取回來的網頁經過幾個步驟的處理,例如經過正規表示式過濾出符合的內容、將超文件字串作轉換編碼處理,取代一些原始碼所可能導致的錯誤,進而呈現出使用者所期盼的網頁結果。
我們的作品分為五個歷經過程:建置基本功能網站、RSS資訊取得、TinyMCE網頁自行編排、可拖曳排序的工作列表、cURL網頁資料擷取。
最初,我們是以RSS資訊擷取網頁用AJAX〈註二〉的技術來做到資訊的即時更新、呈現,想要讓抓取回來的XML(註三)能夠為TinyMCE所使用,但結果是失敗,因為TinyMCE並不能儲存複雜的程式語言--PHP,面對失敗我們只好重新開始,轉而嘗試cURL網頁資料擷取,所幸第二次的努力成功了。
還有為了網頁的ㄧ致性,全部的頁面主要是用PHP語言,Jscript為輔完成的。
※註一 cURL是用URL語法傳遞檔案的一個指令行工具。
※註二 AJAX是 Asynchronous JavaScript And XML 的簡寫,它的裡面非常類似 Dynamic HTML(或者 DHTML),主要的目的在於提高網頁的互動性(interactivity),速 度(speed),以及可用性(usability)。 其也不是一項單獨的技術,它是由一堆現有的技術所組成,它的組成技術有:XHTML(或者 HTML)加上 CSS 來作為資料的呈現、利用 DOM 以及 Javascript 來進行存取資料(大多為 XML)的處理跟利用Request 物件與遠端的 web server 進行非同步的資料交換。
※註三 XML (Extensible Markup Language 可延伸式標注語。
2.背景
2.1 伺服器軟體XAMPP(使用的語言:PHP)
XAMPP是一個把Apache網頁伺服器與PHP、Perl及MySQL集合在一起的安裝包,允許用戶可以在自己的電腦上輕易的建立網頁伺服器。
關於命名
XAMPP的名稱來自以下組合:
• X (支持跨平台)
• Apache
• MySQL
• PHP
• Perl
使用版本
xampp-win32-1.6.6a-installer
是一個結合HTTP,FTP,STMP及SSL架站的軟體。
內容包括:
Apache HTTPD 2.2.6
MySQL 5.0.51
PHP 5.2.5 + 4.4.7 + PEAR + Switch
Openssl 0.9.8g
phpMyAdmin 2.11.3
XAMPP Control Panel 2.5
Webalizer 2.01-10
Mercury Mail Transport System für Win32 und NetWare Systems v4.52
FileZilla FTP Server 0.9.24
SQLite 2.8.15
ADODB 4.96
Zend Optimizer 3.3.0
XAMPP Security
2.2 指令行工具cURL
cURL是用URL語法傳遞檔案的一個指令行工具。cURL的重點在於它支援的資料轉移協定的數目。根據美國麻省理工學院授權,cURL是免費的軟體。
cURL的主要目的是自動化無人看守的文件轉移或序列的行動。舉例來說,它在一個網頁瀏覽器是模擬一個使用者行動的一個好工具。
Libcurl是相當應用於使用者可能與他們的程式合併的library/API;cURL行為作為一個獨立包裝的libcurl library。libcurl被使用在提供URL傳遞能力給很多的應用程式。
我們可能需要遠端獲取某個網頁的訊息內容,將藉由通過PHP的cURL來達到抓取遠端的網頁的訊息內容。
想要在網頁上使用cURL,首先必須在伺服器上安裝PHP和cURL。
圖表 cUR首頁
[pic]
圖表 可到下面網站下載最新版的cURL
[pic]
使用的伺服器的平台為XAMPP,安裝步驟如下:
1.要將下面4個檔案作修改。
xampp\apache\bin\php.ini
xampp\php\php.ini
xampp\php\php4\php.ini
xampp\php\php4\php4.ini
2.將每個檔案中下面那一行的";"給去掉。
;extension=php_curl.dll
3.將cURL的檔案放在XAMPP資料夾下。
4.在重新開啟apache server,就可以在XAMPP使用cURL。
2.3網頁應用技術
Web2.0是一個新生的術語,它並不是一個技術標準,不過它包含了技術架構及應用軟體,算是一個用來闡述技術轉變的術語。它的特點即是將網站視為一個平台,不再像之前純粹只是個「空間」,而是一扇通往各式服務的「大門」;其次,使用者的角色將被置於最核心的位置,將生產、掌握資料的權利交還給使用者,由底層發聲的部落格即是最明顯的例子。
簡單來說,就是一種回歸到以使用者為中心的網路服務,所有的網路行為,都可用互動、分享的概念來做詮釋,以使用者提供的資料、資訊、智慧,作為網站的內容,使用者參與軟體開發、測試的過程,永遠的beta,不斷的改善,整合各種媒體形式,給使用者完整的體驗。
Web2.0技術基礎比較複雜而且還在演化中,如果一個網站使用了以下一些技術作為特色的話,就可說它是利用了Web2.0技術
技術方面:
■ CSS,語義化有效的XHTML標記,和Microformats
■ 不突出的豐富應用技術,例如Ajax
■ 數據的聯合,RSS/ATOM
■ RSS/ATOM數據的聚合
■ 規則且有意義的URL
■ 支持對網誌發帖子
■ REST或者是XML Web服務API
■ 某些社會性網路方面
通用概念:
■ 網站不能是封閉的-它必須可以很方便地被其他系統獲取或寫入數據
■ 用戶應該在網站上擁有他們自己的數據
■ 完全地基於Web-大多數成功的Web2.0網站可以幾乎完全通過瀏覽器來使用
Web1.0與Web2.0比較:
|性質 |Web1.0 |Web2.0 |
|出發點 |以資料為核心的網 |以使用者為出發點的互聯網 |
|知識角度 |將以前沒有放在網上的人類知識,通過商業的力|將這些知識,通過每個用戶的瀏覽求知的力量,協助工作|
| |量,放到網上去 |,把知識有關的組織起來,在這個過程中繼續將知識深化|
| | |,並產生新的思想火花 |
|內容產生者角度 |商業公司為主體把內容往網上搬 |以用戶為主,以簡便隨意方式,通過blog/podcasting方 |
| | |式把新內容網上搬 |
|交互性 |網站對用戶為主 |以P2P為主 |
|技術上 |不因用戶而有所效率提高 |Web用戶端化,工作效率越來越高。比如像Ajax技術,Goo|
| | |gleMap/Gmail裡面用的出神入化 |
AJAX(Asynchronous JavaScript and XML)
這是一種互動式的網頁技術,它使用XmlHttpRequest來與Web伺服器進行非同步數據交換。
傳統網頁技術是當前端執行完成後,觸發某個事件(例如按下某個按鈕),然後就會將資料傳送到伺服器端處理資訊,當伺服器端處理完成後再將資料傳送到前端刷新整個頁面,然後才得到資訊。然而在這等待伺服器端處理資訊的期間,已經浪費了不少時間。
而使用AJAX技術的話,它不會將整個頁面刷新,而只是將更動的地方改變,就像是互動效果一般,當使用者觸發事件後,前端的程式一樣可以照常運作,使用者依舊可以繼續做想做的事,當伺服器端處理完成後,直接將資料傳回前端,改變你所看到的資訊,也就是所有的東西都是及時的,脫離了傳統只能一個指令一個動作,導致浪費許多時間的困擾。
PHP(Hypertext Preprocessor)
它是個被廣泛運用在網頁程式撰寫的程式,適用於網頁程式的開發及能夠嵌入HTML文件中,主要用於伺服器端應用程序及動態網頁上,使得網站開發者可以快速地撰寫動態網頁。
它的功用不單單只是輸出HTML文件而已,它的功能還包括了輸出圖形、PDF檔、及Flash檔。當然也可以讓它輸出一些文字,像是XHTML及任何其他的XML檔,並將它們儲存在伺服器上。
PHP也提供了相當多的協定,像是LDAP、IMAP、SNMP、NNTP、POP3、HTTP、COM等等,還有其他相當多的擴充模組可以使用。
PHP也支援相當廣泛種類的資料庫,所以在撰寫網頁時,使用到資料庫變成是相當容易了,像在我們在專題中使用的MySQL即是其中一種。
MySQL
是一個open source的小型關聯式資料庫管理系統,由於體積小、速度快、總體擁有成本低,尤其是open source這一特點,讓MySQL成為大多數使用者的選擇。
JavaScript
是一種描述語言,可以被嵌入HTML的文件之中,而在瀏覽器中顯示出來。相較於Java,本身結構較為鬆散,能力沒有Java那麼強,但可以配合HTML的程式,設計出很有趣的動態網頁,語法也比較簡單,容易學習。
3. 系統架構
3.1系統架構(資料庫SQL語法)
3.1.1基本功能網站資料庫結構
-- phpMyAdmin SQL Dump
-- version 2.11.4
--
--
-- 主機: localhost
-- 建立日期: Dec 17, 2008, 02:58 PM
-- 伺服器版本: 5.0.51
-- PHP 版本: 5.2.5
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- 資料庫: `member`
--
-- --------------------------------------------------------
--
-- 資料表格式: `user`
--
CREATE TABLE IF NOT EXISTS `user` (
`no` tinyint(4) NOT NULL auto_increment,
`id` varchar(10) NOT NULL,
`password` varchar(10) NOT NULL,
`email` varchar(30) NOT NULL,
`sex` varchar(4) NOT NULL,
`address` varchar(30) NOT NULL,
`tel` varchar(10) NOT NULL,
`level` tinyint(1) NOT NULL default '0',
`htmlcode` longtext character set utf8 collate utf8_bin,
PRIMARY KEY (`no`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
--
-- 列出以下資料庫的數據: `user`
--
INSERT INTO `user` (`no`, `id`, `password`, `email`, `sex`, `address`, `tel`, `level`, `htmlcode`) VALUES
(1, 'chiawei', '0000', 's944906@thu.edu.tw', '¥ý¥Í', 'Taichung', '0935404813', 0, 0x3c703e3c7374726f6e673e3c7370616e207374796c653d22666f6e742d73697a653a206d656469756d3b223e746573743c2f7370616e3e3c2f7374726f6e673e3c2f703e),
(2, 'test', '0000', 'test@.tw', '¤p©j', 'test', '0000', 0, NULL);
3.1.2 可拖曳排序的工作列表資料庫結構
-- phpMyAdmin SQL Dump
-- version 2.11.4
--
--
-- 主機: localhost
-- 建立日期: Dec 17, 2008, 03:02 PM
-- 伺服器版本: 5.0.51
-- PHP 版本: 5.2.5
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- 資料庫: `ajax`
--
-- --------------------------------------------------------
--
-- 資料表格式: `tasks`
--
CREATE TABLE IF NOT EXISTS `tasks` (
`id` int(10) unsigned NOT NULL auto_increment,
`order_no` int(10) unsigned NOT NULL default '0',
`description` varchar(100) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=25 ;
--
-- 列出以下資料庫的數據: `tasks`
--
INSERT INTO `tasks` (`id`, `order_no`, `description`) VALUES
(22, 1, 'tea'),
(23, 2, 'book'),
(24, 3, 'clock');
3.2 網頁架構圖
[pic]
4. 系統開發
4.1 RSS資訊取得
由於資訊傾銷,許多系統開始融入分類、過濾與主動取得新進資訊的能力。這種作法是透過「網站組織」(Web symdication),其作法為讓網站的一部份內容(例如新聞、部落格、文章…等等),接受其他網站或者組織利用。
RSS是一種廣為使用的XML標準,用以在網際網路的組織之間交流資訊。XML最大的優點之一是使用純文字。所以任何組織都可以輕易讀取。
標準的RSS內容如下:
A short description of this feed
en
Mon , 17 Oct 2005 07:56:23 EDT
..
..
..
..
.
.
RSS文件中可能包含的項目數量無限制,每一個項目都可以存放不同的新聞、部落格文章,或者任何你想存放的內容。
■ PHP安裝設定中需開啟XML的支援
■ 使用XSLT將RSS文件轉換成可以對用戶顯示的格式,XSL轉換是在伺服器端以PHP程式進行
■ 使用SimpleXML函式庫解讀從伺服器取得的XML回應,SimpleXML是PHP5當中的一套函式庫
RSS文件會動態載入,並在左欄中以連結形式顯示。點選連結即可對伺服器端的指令程式送出HTTP要求,進而讀取所需的RSS文件。伺服器端接著以XSL處理RSS文件格式,回傳XML字串。最後以用戶易於閱讀的形式顯示。
網頁程式部份:
在 config.php中紀錄想取得的URL來源:
<陣列的形式>
[pic]
[pic]
4.2 TinyMCE網頁自行編排
TinyMCE是一個輕量級的基於瀏覽器的WYSIWYG Editor,由JavaScript所寫成。WYSIWYG Editor的意思為所見即所得的編輯器,指的是編輯器輸出的結果就是和編輯器上的畫面一樣,可用在做線上的網頁內容編輯。
它對IE和Firefox都有著非常良好的支持。功能方面雖然不能稱得上是最強,但絕對能夠滿足大部分網站的需求,並且功能配置靈活簡單。另一特點是加載速度非常快,如果你的伺服器採用的語言是 PHP,那還可以進一步優化。最重要的是,TinyMCE是一個根據LGPL license發布的自由軟體,你可以把它用於商業應用。安裝的方式也很簡單,並不需要麻煩的設定。
圖表- 官方網站:
[pic]
下面為TinyMCE的安裝步驟:
1. 從官方網站下載TinyMCE的Main package壓縮檔
圖表- 下載頁面
[pic]
2. 解壓縮後建立以下的目錄結構
/tinymce/
/tinymce/examples/
/tinymce/examples/css/
/tinymce/examples/lists/
/tinymce/examples/media/
/tinymce/examples/templates/
/tinymce/jscripts/
/tinymce/jscripts/tiny_mce/
/tinymce/jscripts/tiny_mce/langs/
/tinymce/jscripts/tiny_mce/plugins/
/tinymce/jscripts/tiny_mce/plugins/
/tinymce/jscripts/tiny_mce/themes/
/tinymce/jscripts/tiny_mce/themes/advanced/
/tinymce/jscripts/tiny_mce/themes/default/
/tinymce/jscripts/tiny_mce/themes/simple/
/tinymce/jscripts/tiny_mce/themes/utils/
圖表- 解壓縮後產生的檔案
[pic]
其中examples目錄下是4個範例頁面,而jscripts目錄下則是JavaScript文件。實際使用時候只需要將jscripts目錄上傳到服務器上即可。
3. 然後在需要使用TinyMCE的網頁裡加入下面的JavaScript碼:
$nbsp$$nbsp$tinyMCE.init({
$nbsp$$nbsp$$nbsp$$nbsp$mode : “textareas”,
$nbsp$$nbsp$$nbsp$$nbsp$theme : “advanced”,
$nbsp$$nbsp$$nbsp$$nbsp$language :”zh_cn”
$nbsp$$nbsp$});
上面的JavaScript碼只是簡單的範例,若要有更多編輯功能可以另外再加上去。
圖表- 全部編輯功能的宣告
[pic]
網頁與jscripts目錄要處於同一目錄下,否則要修改路徑。
只要在網頁中使用的標籤就可以在網頁上顯示出TinyMCE。
圖表- 使用的標籤在網頁中嵌入TinyMCE
[pic]
圖表- 成功在網頁中加入TinyMCE
[pic]
4.3 cURL網頁資料擷取
cURL是用URL語法傳遞檔案的一個指令行工具。cURL的重點在於它支援的資料轉移協定的數目。根據美國麻省理工學院授權,cURL是免費的軟體。
cURL的主要目是自動化無人看守的文件轉移或序列的行動。舉例來說,它在一個網頁瀏覽器是模擬一個使用者行動的一個好工具。
Libcurl是相應於使用者可能與他們的程式合併的library/API;cURL行為作為一個獨立包裝的libcurl library。libcurl被使用在提供URL傳遞能力給很多的應用程式。
我們可能需要遠端獲取某個網頁的訊息內容,將藉由通過PHP的cURL來達到抓取遠端的網頁的訊息內容。
想要在網頁上使用cURL,首先必需在伺服器上安裝PHP和cURL。
圖表- cURL首頁
[pic]
圖表- 可到下面網站下載最新版的cURL
[pic]
使用的伺服器的平台為XAMPP,安裝步驟如下:
1.要將下面4個檔案作修改。
xampp\apache\bin\php.ini
xampp\php\php.ini
xampp\php\php4\php.ini
xampp\php\php4\php4.ini
2.將每個檔案中下面那一行的";"給去掉。
;extension=php_curl.dll
3.將cURL的檔案放在XAMPP資料夾下。
4.在重新開啟apache server,就可以在XAMPP使用cURL。
藉由下面的PHP code來作測試範例。
圖表- 擷取到的網頁內容
[pic]
下面為PHP中的cURL函式庫。
curl_close ─ 關閉一個cURL會話
curl_copy_handle ─ 拷貝一個cURL連接資源的所有內容和參數
curl_errno ─ 返回一個包含當前會話錯誤信息的數字編號
curl_error ─ 返回一個包含當前會話錯誤信息的字符串
curl_exec ─ 執行一個cURL會話
curl_getinfo ─ 獲取一個cURL連接資源句柄的信息
curl_init ─ 初始化一個cURL會話
curl_multi_add_handle ─ 向cURL批處理會話中添加單獨的cURL句柄資源
curl_multi_close ─ 關閉一個批處理句柄資源
curl_multi_exec ─ 解析一個cURL批處理句柄
curl_multi_getcontent ─ 返回獲取的輸出的文本流
curl_multi_info_read ─ 獲取當前解析的cURL的相關傳輸信息
curl_multi_init ─ 初始化一個cURL批處理句柄資源
curl_multi_remove_handle ─ 移除cURL批處理句柄資源中的某個句柄資源
curl_multi_select ─ Get all the sockets associated with the cURL extension, which can then be "selected"
curl_setopt_array ─ 以數組的形式為一個cURL設置會話參數
curl_setopt ─ 為一個cURL設置會話參數
curl_version ─ 獲取cURL相關的版本信息
curl_init()函數的作用初始化一個cURL會話,curl_init()函數唯一的一個參數是可選的,表示一個URL地址。
curl_exec()函數的作用是執行一個cURL會話,唯一的參數是curl_init()函數返回的句柄。
curl_close()函數的作用是關閉一個cURL會話,唯一的參數是curl_init()函數返回的句柄。
正規表示式
為了將cURL所抓取到的遠端的網頁內容,過濾出我們想要的資訊,就必須使用到正規表示式。使用preg_match()來截取網頁中我們想要的內容。
正規表示式(英文:Regular Expression),在計算機科學中,是指一個用來描述或者匹配一系列符合某個句法規則的字元串的單個字元串。在很多文本編輯器或其他工具裡,正則表達式通常被用來檢索和/或替換那些符合某個模式的文本內容。許多程式語言都支持利用正則表達式進行字元串操作。例如,在Perl中就內建了一個功能強大的正則表達式引擎。正則表達式這個概念最初是由Unix中的工具軟體(例如sed和grep)普及開的。「正規表示式」通常縮寫成「regex」,單數有regexp、regex,複數有regexps、regexes、regexen。
利用preg_match()來截取網頁內容。在preg_match()中使用時,通常會在比對字串的前後加上 / 來做開始跟結束的符號,而在結束符號後面可以再加上一些參數,稱作"修飾符號"。
使用技術一
A.送入擷取網址url <※1>
B. $returned為字串的形式,並指定給$fp<※2>
|※1$url = ""; |
| |
|$ch = curl_init(); |
| |
|curl_setopt($ch, CURLOPT_URL,$url); |
| |
|curl_setopt($ch, CURLOPT_VERBOSE, 1); |
| |
|curl_setopt($ch, CURLOPT_POST, 0); |
| |
|curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); |
| |
|※2$returned = curl_exec($ch); |
| |
|curl_close ($ch); |
| |
|//echo $returned; |
|※2$fp = $returned; |
使用技術二
A. 使用preg match( ) <※>
B. 紅色的地方使用正規表示式
C. $title、$title2為輸出
|//----- 擷取資訊 |
|※preg_match("/(.*)announcements\/recruitment/s", $fp, $match); |
|$title = $match[1]; |
| |
|※preg_match("/(.*)events/s", $fp, $match); |
|$title2 = $match[1]; |
使用技術三
A.php雙引號字串中有一些符號得用「跳脫字元」才可以正常顯示:
|跳脫字元 |
|用途 |
| |
|\n |
|換行 |
| |
|\r |
|游標回頭 |
| |
|\t |
|Tab鍵 |
| |
|\\ |
|「\」符號 |
| |
|\$ |
|「$」符號 |
| |
|\" |
|「"」符號 |
| |
|\[0-7]{1,3} |
|八進位數值 |
| |
|\x[0-9A-Fa-f]{1,2} |
|十六進位數值 |
| |
B.字串轉換編碼
|$fp1 = $returned; |
|//----big5 轉 utf-8 |
|$fp2=iconv("big5","UTF-8",$fp1); |
C.字串內容取代
|$title4 =str_replace("../", "", $title3); |
結果實作圖在第五大標題
5. 作品成果介紹 →(執行畫面說明)
4.2 可拖曳排序的工作列表
拖曳功能可以強化使用介面、改善人機之間的互動。
建立一個待辦事項工作或行程表可能是我們每天都要用到的,
這一個小型工作管理系統,可以讓你建立新的工作事項、對現有事項重新排序,以及刪除工作事項。功能如下:
■ 以資料庫為後端
■ 以AJAX新增工作事項
■ 拖曳時可即時更新資料庫
■ 將工作事項移到刪除區域時,會詢問是否刪除,是則進行刪除
[pic]
5. 作品成果介紹 →(執行畫面說明)
因為cURL是我們的重點,所以我們這一主題主要介紹cURL實作及網站使用
|[pic] |index.php 首頁 |
| |功能:登入、加入會員、帳號密碼檢驗判斷 |
|[pic] |Main4.htm 主要功能區,為分割框架頁 |
| |具有: |
| |1.RSS資訊取得 |
| |2.TinyMCE網頁自行編排 |
| |3.cURL 網頁資料擷取 |
| |4.可拖曳、排序的工作列表 |
| |5.及cURL實際擷圖測試 |
| |6.登出 |
| | |
|[pic] |點選cURL,如左為擷取資料使用技術在4-3有記載 |
| |說明取得的來源C-1、C-2如下 |
|[pic] | |
|[pic] |C-1原始東海資工首頁 |
|[pic] |C-2原始東海首頁 |
|[pic] |希望以後使用者能利用滑鼠框選區域,即能讓系統程式 |
| |取得特定的資料。 |
6. 結論與未來發展
從這一個專題實驗裡,我們成長了,也學到了很多學問、經驗、知識。其中,我們體悟了
此專題最重要的四點核心價值:
1. 團隊的重要--信賴對方、分工合作。
2. 技術、技巧的學習--同學之間互相教導學習、競爭切磋。
3. 溝通、以及如何妥協。
4. 面對失敗,成功不遠。
最後,我想感謝漢祐、旭凱的幫忙,他總是配合,也願意一起努力,認為這是一個團隊(team),
真的很謝謝他。還有也謝謝老師的教導、幫助、解惑。
未來努力方向
• 希望以後使用者到任何的網站時,對自己喜歡的網頁內容,利用滑鼠框選之後,則系統程式暗地裡利用cURL擷取資料,送到網站中使用者自己編排的網頁位置。
• 網頁結構的改進、讓我們的網站更完美。
7. 人員
指導老師:陳隆彬 東海大學資訊工程與科學系 副教授
吳家維:東海大學資訊工程與科學系四年級
蘇漢祐:東海大學資訊工程與科學系四年級
鄭旭凱:東海大學資訊工程與科學系四年級
8. Reference
1] 吳權威 編著 PHP與MySQL網頁設計實務 , 民國93年一月初版 , 網奕資訊科技
2] Cristian Darie 等著 AJAX & PHP : Web 2.0網站開發手札 , 民國95年初版 , 上奇科技
3] TinyMCE 官網
4] cURL 首頁
附錄A
安裝XAMPP
XAMPP是一個相當容易安裝的Apache擴充版本,它已經包括了MySQL、PHP及Perl 等軟體在其中。XAMPP 非常容易安裝及使用,你只需要:下載、解壓縮及啟動就可以了。
官方網站:
作業環境:Windows XP
使用版本:
1. 到下面的網址下載最新版本
2. 執行安裝檔,並選擇安裝語言
[pic]
3. 歡迎畫面,下一步
[pic]
4. 欲安裝的路徑,這裡使用預設值,下一步
[pic]
5. 欲安裝的功能,可隨自己的喜好調整,這裡選擇全部安裝,下一步
[pic]
6. 正在安裝中
[pic]
7. 安裝結束
[pic]
8. 點選桌面上XAMPP的連結
[pic]
9. 按下Start啟動想要的服務
[pic]
10. 啟動Apache後,在瀏覽器中輸入,若出現以下畫面表示安裝成功
[pic]
以上為安裝XAMPP之流程。
附錄B
正規表示式
正規表示法有多種不同的風格。下表是在PCRE中元字元及其在正規表示法上下文中的行為的一個完整列表:\
|字元 |描述 |
|\ |將下一個字元標記為一個特殊字元、或一個原義字元、或一個向後引用、或一個八進位轉義符。例如,「n」匹配字元「n」。「\n」匹配一個換行|
| |符。序列「\\」匹配「\」而「\()則匹配「()。 |
|^ |匹配輸入字元串的開始位置。如果設置了RegExp對象的Multiline屬性,^也匹配「\n」或「\r」之後的位置。 |
|$ |匹配輸入字元串的結束位置。如果設置了RegExp對象的Multiline屬性,$也匹配「\n」或「\r」之前的位置。 |
|* |匹配前面的子表達式零次或多次。例如,zo*能匹配「z」以及「zoo」。*等價于{0,}。 |
|+ |匹配前面的子表達式一次或多次。例如,「zo+」能匹配「zo」以及「zoo」,但不能匹配「z」。+等價于{1,}。 |
|? |匹配前面的子表達式零次或一次。例如,「do(es)?」可以匹配「do」或「does」中的「do」。?等價于{0,1}。 |
|{n} |n是一個非負整數。匹配確定的n次。例如,「o{2}」不能匹配「Bob」中的「o」,但是能匹配「food」中的兩個o。 |
|{n,} |n是一個非負整數。至少匹配n次。例如,「o{2,}」不能匹配「Bob」中的「o」,但能匹配「foooood」中的所有o。「o{1,}」等價于「o+」。「o{|
| |0,}」則等價于「o*」。 |
|{n,m} |m和n均為非負整數,其中n ................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.