charlock_holmes-jruby 0.1.0-java
Sign up to get free protection for your applications and to get access to all the features.
- data/.rspec +4 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +29 -0
- data/LICENSE +20 -0
- data/README.md +65 -0
- data/Rakefile +17 -0
- data/charlock_holmes-jruby.gemspec +25 -0
- data/lib/charlock_holmes-jruby.rb +1 -0
- data/lib/charlock_holmes.rb +5 -0
- data/lib/charlock_holmes/charset_match_ext.rb +17 -0
- data/lib/charlock_holmes/converter.rb +12 -0
- data/lib/charlock_holmes/encoding_detector.rb +54 -0
- data/lib/charlock_holmes/string.rb +21 -0
- data/lib/charlock_holmes/version.rb +5 -0
- data/lib/charlock_holmes_jruby.rb +1 -0
- data/spec/converter_spec.rb +57 -0
- data/spec/encoding_detector_spec.rb +97 -0
- data/spec/fixtures/AnsiGraph.psm1 +0 -0
- data/spec/fixtures/TwigExtensionsDate.es.yml +8 -0
- data/spec/fixtures/cl-messagepack.lisp +264 -0
- data/spec/fixtures/core.rkt +254 -0
- data/spec/fixtures/laholator.py +131 -0
- data/spec/fixtures/mingpao.html +455 -0
- data/spec/fixtures/repl2.cljs +109 -0
- data/spec/fixtures/shift_jis.html +1244 -0
- data/spec/spec_helpers.rb +1 -0
- data/spec/string_spec.rb +39 -0
- metadata +144 -0
@@ -0,0 +1,131 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
#
|
4
|
+
# @author: starenka
|
5
|
+
# @email: 'moc]tod[liamg].T.E[0aknerats'[::-1]
|
6
|
+
|
7
|
+
import warnings, hashlib, simplejson, string
|
8
|
+
from os.path import dirname, abspath
|
9
|
+
|
10
|
+
from flask import Flask, render_template, request
|
11
|
+
from flaskext.sqlalchemy import SQLAlchemy
|
12
|
+
try:
|
13
|
+
from sqlalchemy.exceptions import IntegrityError
|
14
|
+
except ImportError:
|
15
|
+
from sqlalchemy.exc import IntegrityError
|
16
|
+
|
17
|
+
#Hey monkey patcher! NLTK's NgramModel is not serializable w/ pickle.HIGHEST_PROTOCOL (2)
|
18
|
+
from werkzeug.contrib import cache
|
19
|
+
cache.HIGHEST_PROTOCOL = 1
|
20
|
+
from werkzeug.contrib.cache import SimpleCache
|
21
|
+
|
22
|
+
from BeautifulSoup import BeautifulSoup
|
23
|
+
import nltk
|
24
|
+
|
25
|
+
PUNCT = list(unicode(string.punctuation))
|
26
|
+
|
27
|
+
app = Flask(__name__)
|
28
|
+
app.config.from_object('settings')
|
29
|
+
cache = SimpleCache()
|
30
|
+
|
31
|
+
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///%s/db.sqlite3'%abspath(dirname(__file__))
|
32
|
+
db = SQLAlchemy(app)
|
33
|
+
|
34
|
+
class Sample(db.Model):
|
35
|
+
id = db.Column(db.Integer, primary_key=True)
|
36
|
+
url = db.Column(db.String(80), unique=True)
|
37
|
+
text = db.Column(db.String())
|
38
|
+
enabled = db.Column(db.Boolean())
|
39
|
+
|
40
|
+
def __unicode__(self):
|
41
|
+
str = unicode(BeautifulSoup(self.text,convertEntities=BeautifulSoup.HTML_ENTITIES))
|
42
|
+
return nltk.clean_html(str)
|
43
|
+
|
44
|
+
@classmethod
|
45
|
+
def get_all(self):
|
46
|
+
cached = cache.get('samples')
|
47
|
+
if cached is None:
|
48
|
+
cached = self.query.filter_by(enabled=True).all()
|
49
|
+
cache.set('samples', cached, timeout=app.config['CACHE_MINUTES'] * 60)
|
50
|
+
return cached
|
51
|
+
|
52
|
+
class Output(db.Model):
|
53
|
+
id = db.Column(db.Integer, primary_key=True)
|
54
|
+
hash = db.Column(db.String(128),unique=True)
|
55
|
+
text = db.Column(db.String())
|
56
|
+
params = db.Column(db.String(100))
|
57
|
+
|
58
|
+
def __init__(self,text,**params):
|
59
|
+
self.hash = hashlib.sha512(text.encode('utf8')).hexdigest()
|
60
|
+
self.text = text
|
61
|
+
self.params = simplejson.dumps(params)
|
62
|
+
|
63
|
+
@app.context_processor
|
64
|
+
def base_context():
|
65
|
+
return dict(settings=app.config,
|
66
|
+
hits = Output.query.count() + app.config['INIT_HITS']
|
67
|
+
)
|
68
|
+
|
69
|
+
@app.errorhandler(404)
|
70
|
+
def page_not_found(error):
|
71
|
+
return render_template('404.html',title=u"To tady nemáme!"), 404
|
72
|
+
|
73
|
+
@app.route('/faq')
|
74
|
+
def faq():
|
75
|
+
return render_template('faq.html',title=u"Často kladené dotazy",samples=Sample.get_all())
|
76
|
+
|
77
|
+
@app.route('/permalink/<hash>')
|
78
|
+
def permalink(hash):
|
79
|
+
one = Output.query.filter_by(hash=hash).first_or_404()
|
80
|
+
return render_template('generator.html', title=u"Henrykuj!",
|
81
|
+
text=one.text, hash=one.hash,
|
82
|
+
**simplejson.loads(one.params)
|
83
|
+
)
|
84
|
+
|
85
|
+
@app.route('/')
|
86
|
+
def index():
|
87
|
+
bigrams = request.args.get('bigrams',False)
|
88
|
+
try:
|
89
|
+
words = int(request.args.get('words',app.config['WORDS']))
|
90
|
+
if words > app.config['MAX_WORDS']:
|
91
|
+
words = app.config['MAX_WORDS']
|
92
|
+
except ValueError:
|
93
|
+
words = app.config['WORDS']
|
94
|
+
|
95
|
+
out = _generate(words,bigrams)
|
96
|
+
output = Output(out,words=words,bigrams=bool(bigrams))
|
97
|
+
try:
|
98
|
+
db.session.add(output)
|
99
|
+
db.session.commit()
|
100
|
+
except IntegrityError:
|
101
|
+
pass
|
102
|
+
|
103
|
+
return render_template('generator.html', title=u"Henrykuj!",
|
104
|
+
text=out, hash=output.hash,
|
105
|
+
words=words, bigrams=bigrams
|
106
|
+
)
|
107
|
+
|
108
|
+
def _get_ngram_model(bigrams):
|
109
|
+
#NLTK produces a LOT of warnings - don't mess with my error log
|
110
|
+
warnings.simplefilter("ignore")
|
111
|
+
cached = cache.get('ngram_model')
|
112
|
+
if cached is None:
|
113
|
+
samples = Sample.get_all()
|
114
|
+
if samples:
|
115
|
+
text = [unicode(s) for s in samples]
|
116
|
+
tokenizer = nltk.tokenize.WordPunctTokenizer()
|
117
|
+
tokenized = tokenizer.tokenize(' '.join(text))
|
118
|
+
cached = nltk.NgramModel(3-int(bool(bigrams)), tokenized)
|
119
|
+
cache.set('ngram_model', cached, timeout=app.config['CACHE_MINUTES'] * 60)
|
120
|
+
return cached
|
121
|
+
|
122
|
+
def _generate(words,bigrams):
|
123
|
+
model = _get_ngram_model(bigrams)
|
124
|
+
starts = model.generate(100)[-4:]
|
125
|
+
starts = filter(lambda a: a not in PUNCT,starts)
|
126
|
+
generated = model.generate(words, starts)
|
127
|
+
out = ' '.join(generated).replace(' , ',', ').replace(' . ','. ')
|
128
|
+
return '%s%s…'%(out[0].upper(),out[1:])
|
129
|
+
|
130
|
+
if __name__ == '__main__':
|
131
|
+
app.run()
|
@@ -0,0 +1,455 @@
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>�����s�D��-���-��ڭn�D--����s�R����̹]�W�Цʭ�-20130412</title>
|
5
|
+
<meta name="google-site-verification" content="arf3Ifm5Baa2yhUaastekjcyBdd799KXYQktJanboq4" />
|
6
|
+
<meta http-equiv="Content-Type" content="text/html; charset=big5">
|
7
|
+
<link rel="shortcut icon" href="../image/favicon.ico">
|
8
|
+
<link href = "../css/topmenu.css" rel="stylesheet" type="text/css">
|
9
|
+
<link href = "../css/style.css" rel="stylesheet" type="text/css">
|
10
|
+
<link href = "../css/slider_style.css" rel="stylesheet" type="text/css">
|
11
|
+
<link href = "../css/keywords.css" rel="stylesheet" type="text/css">
|
12
|
+
|
13
|
+
|
14
|
+
<link rel="image_src" href="http://news.mingpao.com/ftp/WebNews2/20130412/ta/ta/12ta501.jpg" />
|
15
|
+
|
16
|
+
|
17
|
+
<script language="javascript" type="text/javascript" src="../js/jquery.js"></script>
|
18
|
+
<script language="javascript" type="text/javascript" src="../js/generic.js"></script>
|
19
|
+
<script language="JavaScript" type="text/javascript" src="../js/CommonScript2.js"></script>
|
20
|
+
<script language="JavaScript">strCurrentChannel="ta";</script>
|
21
|
+
<script language="JavaScript" src="../js/Adv/Advert5DFP.js"></script>
|
22
|
+
<script language="JavaScript" src="../js/Adv/Advert.js"></script>
|
23
|
+
<script type="text/javascript">
|
24
|
+
function setNavigation(_target)
|
25
|
+
{
|
26
|
+
var newPosition = 0;
|
27
|
+
var setPosition = 0;
|
28
|
+
var nLength = document.getElementById(_target).length;
|
29
|
+
var nIndex = document.getElementById(_target).selectedIndex;
|
30
|
+
|
31
|
+
this.getPrev = function()
|
32
|
+
{
|
33
|
+
for (var i=0 ; i<nLength; i++)
|
34
|
+
{
|
35
|
+
if (i < nIndex && i + 1 < nLength)
|
36
|
+
{
|
37
|
+
newPosition=i+1;
|
38
|
+
}
|
39
|
+
else if (i == nIndex)
|
40
|
+
{
|
41
|
+
newPosition=i;
|
42
|
+
break;
|
43
|
+
}
|
44
|
+
}
|
45
|
+
setPosition = newPosition;
|
46
|
+
|
47
|
+
if (setPosition>=0)
|
48
|
+
setPosition--;
|
49
|
+
|
50
|
+
return (setPosition < 0) ? "" : "<a href='" + document.getElementById(_target)[setPosition].value + "' onMouseOut='MM_swapImgRestore()' onMouseOver='MM_swapImage(\"Image_prev1\", \"\", \"../image/b_prev1.gif\", 1)'><img src='../image/b_prev0.gif' name='Image_prev1' width='62' height='18' border='0'></a>";
|
51
|
+
}
|
52
|
+
|
53
|
+
this.getNext = function()
|
54
|
+
{
|
55
|
+
for (var i=0; i<nLength; i++)
|
56
|
+
{
|
57
|
+
if(i <= nIndex)
|
58
|
+
newPosition = i;
|
59
|
+
}
|
60
|
+
setPosition = newPosition;
|
61
|
+
|
62
|
+
if (setPosition < nLength)
|
63
|
+
setPosition++;
|
64
|
+
|
65
|
+
return (setPosition > nLength-1) ? "" : "<a href='" + document.getElementById(_target)[setPosition].value + "' onMouseOut='MM_swapImgRestore()' onMouseOver='MM_swapImage(\"Image_next1\", \"\", \"../image/b_next1.gif\", 1)'><img src='../image/b_next0.gif' name='Image_next1' width='62' height='18' border='0'></a>";
|
66
|
+
}
|
67
|
+
}
|
68
|
+
</script>
|
69
|
+
</head>
|
70
|
+
<body background="../image/home_body_bkg.jpg" style="background-position: center top; background-repeat: repeat;" onLoad="MM_preloadImages('../image/news_headerbar_menu_update_f2.gif','../image/news_headerbar_menu_print_f2.gif','../image/b_forum_f2.gif','../image/b_reply_f2.gif','../image/b_fd_f2.gif')">
|
71
|
+
<div id ="outer_wrapper">
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
<script language="JavaScript">strCurrentDisplayDate="2013�~4��12�� �P����";</script>
|
76
|
+
|
77
|
+
<script language="JavaScript">
|
78
|
+
//[top menu]
|
79
|
+
sublink = new Array()
|
80
|
+
</script>
|
81
|
+
|
82
|
+
<script language="JavaScript" src="../js/TopMenu/TopPortalMenuMoveover.js"></script>
|
83
|
+
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
84
|
+
<tr height="1">
|
85
|
+
<td colspan="2"> </td>
|
86
|
+
</tr>
|
87
|
+
<tr>
|
88
|
+
<td background="../image/portals_top_bg2.gif" width="268">
|
89
|
+
<div class="grey_weather_line"></div>
|
90
|
+
<table cellpadding="0" cellspacing="0" border="0" width="100%" height="30">
|
91
|
+
<tr>
|
92
|
+
<td><div id="clock"></div></td>
|
93
|
+
<td><img src="../image/portals_top_weather.gif" border="0" align="absmiddle" alt="�Ѯ�Ա�"></td>
|
94
|
+
<td class="weather"><script language="JavaScript" src="../js/TopMenu/TopWeather1.js"></script></td>
|
95
|
+
<td><script language="JavaScript" src="../js/TopMenu/TopWeather2.js"></script></td>
|
96
|
+
<td nowrap align="right" class="date">
|
97
|
+
<script language="JavaScript">document.write (strCurrentDisplayDate+' <br>');</script>
|
98
|
+
</td>
|
99
|
+
</tr>
|
100
|
+
</table>
|
101
|
+
<div class="grey_weather_line"></div>
|
102
|
+
|
103
|
+
<script language="JavaScript" src="../js/TopMenu/TopLogo.js"></script>
|
104
|
+
</td>
|
105
|
+
<td background="../image/portals_top_bg2.gif" align="right">
|
106
|
+
|
107
|
+
<script language="JavaScript" src="../js/Adv/Advert1DFP.js"></script>
|
108
|
+
</td>
|
109
|
+
</tr>
|
110
|
+
</table>
|
111
|
+
|
112
|
+
<script language="JavaScript" src="../js/TopMenu/TopPortalMenu.js"></script>
|
113
|
+
|
114
|
+
|
115
|
+
<div class = "top_menu_bg clearfix">
|
116
|
+
<div class ="ml">
|
117
|
+
<div class ="c">
|
118
|
+
<div id="rlink" class ="s">
|
119
|
+
|
120
|
+
<a href="main.htm" class="link" target="_top">�D��</a>�@�@<a href="../cfm/MemberZone1.cfm" class="link" target="_top"><span style="color:red;">�q��M��</span></a>�@�@<a href="gaindex.htm" class="link" target="_top">�n�D</a>�@�@<a href="gbindex.htm" class="link" target="_top">��D</a>�@�@<a href="gfindex.htm" class="link" target="_top">�Ш|</a>�@�@<a href="mrindex.htm" class="link" target="_top">�����E���}</a>�@�@<a href="faindex.htm" class="link" target="_top">�[�I</a>�@�@<a href="caindex.htm" class="link" target="_top">����</a>�@�@<a href="taindex.htm" class="activelink" target="_top">���</a>�@�@<a href="eaindex.htm" class="link" target="_top">�g��</a>�@�@<a href="spindex.htm" class="link" target="_top">��|</a>�@�@<a href="maindex.htm" class="link" target="_top">�v��</a>�@�@<a href="jaindex.htm" class="link" target="_top">�ƥZ</a>�@�@<a href="emindex.htm" class="link" target="_top">�^��</a>
|
121
|
+
<script src="../js/TopMenu/TopMenuExt1.js" language="JavaScript"></script>
|
122
|
+
</div>
|
123
|
+
</div>
|
124
|
+
</div>
|
125
|
+
|
126
|
+
|
127
|
+
<script language="JavaScript" src="../js/TopMenu/TopKeyword.js"></script>
|
128
|
+
<br><br>
|
129
|
+
|
130
|
+
|
131
|
+
|
132
|
+
<script language="JavaScript" src="../js/TopMenu/TopSearchBox.js"></script>
|
133
|
+
|
134
|
+
</div>
|
135
|
+
|
136
|
+
<script language="javascript" type="text/javascript" src="../js/init.js"></script>
|
137
|
+
|
138
|
+
|
139
|
+
<table width="100%" border="0" cellspacing="0" cellpadding="0">
|
140
|
+
<tr>
|
141
|
+
<td>
|
142
|
+
<div class = "news_bkg">
|
143
|
+
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
|
144
|
+
<tr>
|
145
|
+
<td valign="top">
|
146
|
+
<div class = "news_box left clearfix">
|
147
|
+
<div class = "bottom_space">
|
148
|
+
<table width="100%" border="0" cellspacing="0" cellpadding="0">
|
149
|
+
<tr>
|
150
|
+
<td background="../image/news_headerbar_bkg.jpg"><img src="../image/news_headerbar_ta.jpg" alt="���" width="228" height="24"></td>
|
151
|
+
<td align="right" background="../image/news_headerbar_bkg.jpg"><a href="mailto:inews@mingpao.com?Subject=Ū�̳���" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image34','','../image/news_headerbar_menu_update_f2.gif',1)"><img src="../image/news_headerbar_menu_update.gif" alt="Ū�̳���" name="Image34" width="101" height="24" border="0"></a></td>
|
152
|
+
</tr>
|
153
|
+
</table>
|
154
|
+
</div>
|
155
|
+
<table width="100%" border="0">
|
156
|
+
<tr>
|
157
|
+
<td valign="top">
|
158
|
+
|
159
|
+
<div class ="left_col">
|
160
|
+
<a href="taa1_image1.htm?Mode=1"><img src="ta_12ta501.jpg" width="180" border="0" class="photo" name='contentimg'></a><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><a href="taa1_image1.htm?Mode=1"><img src="../image/mag.gif" alt="��j" width="38" height="13" border="0"></a></td> <td><img src="../image/dot.gif" width="16" height="15"></td> <td align="center"><div class="content_photo">�����Ϥ�(1�i)</div></td> <td align="right"><img src="../image/dot.gif" width="16" height="15"></td> </tr></table><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><img src="../image/photo_bar.gif" width="180" height="6"></td> </tr></table><br>
|
161
|
+
</div>
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
<div class ="left_col">
|
166
|
+
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr><td><img src="../image/b_extend.gif" alt="�����\Ū" width="180" height="38"></td></tr></table><div class ="left_col"> <div class="extend_t"></div> <div class="extend_m"> <table width="90%" align="center" cellpadding="0" cellspacing="0" class="content_small"> <tr><td> <div class="bullet_arrow"><a href="../cfm/Redirect.cfm?ch=ta&NewsFile=20130412%2Fta%2Fta%2Ftaa2%5Fer%2Etxt" target="_blank"> ��w����d ���o�{���D </a></div><br> </td></tr> </table> </div> <div class ="extend_b"></div></div><br>
|
167
|
+
</div>
|
168
|
+
|
169
|
+
|
170
|
+
<div class ="left_col">
|
171
|
+
<script language="JavaScript" src="../js/WebNews2/ContentSearchForm1.js"></script>
|
172
|
+
<div class = "extend_line"></div>
|
173
|
+
<br>
|
174
|
+
<script language="JavaScript" src="../js/WebNews2/ContentHotLabel1.js"></script>
|
175
|
+
<br>
|
176
|
+
<!-- editor choice -->
|
177
|
+
<script language="JavaScript" src="../js/WebNews2/ContentEditorChoice1.js"></script>
|
178
|
+
<!-- end of editor choice -->
|
179
|
+
<!-- ad. -->
|
180
|
+
<script type="text/javascript" src="../js/WebNews2/ContentLeft.js"></script>
|
181
|
+
<!-- end ad. -->
|
182
|
+
</div>
|
183
|
+
</td>
|
184
|
+
<td valign="top">
|
185
|
+
<div class = "content_col">
|
186
|
+
<table width="100%" border="0">
|
187
|
+
<tr>
|
188
|
+
<td>
|
189
|
+
|
190
|
+
<div class="push" id="supportblock01">
|
191
|
+
<table cellpadding="0" cellspacing="0">
|
192
|
+
<tr>
|
193
|
+
<td><a href="javascript:clickSupport();"><img src="../image/shim.gif" alt="��" width="40" height="25" border="0"></a></td>
|
194
|
+
<td><div id="supportcontent01" class="content_push"></div></td>
|
195
|
+
</tr>
|
196
|
+
</table>
|
197
|
+
</div>
|
198
|
+
|
199
|
+
</td>
|
200
|
+
<td align="right">
|
201
|
+
<form name="form2">
|
202
|
+
<select id="menu1" name="menu1" onChange="if (this.options[this.selectedIndex].value.search(/redirect/i) >= 0) window.open(this.options[this.selectedIndex].value,'redirect','').focus(); else MM_jumpMenu('parent',this,0);">
|
203
|
+
<script language="JavaScript" src="insttaoptions.js"></script>
|
204
|
+
<option value="taa1.htm" selected>����s�R����̹]�W�Цʭ�</option>
|
205
|
+
<option value="../cfm/Redirect.cfm?ch=ta&NewsFile=20130412%2Fta%2Fta%2Ftaa2%5Fer%2Etxt">��w����d ���o�{���D</option>
|
206
|
+
<option value="taa3.htm">���a���p 1/10�Ѧa���ìV</option>
|
207
|
+
<option value="tab1.htm">���R�¾ɼu���ФW�[ �G�G�ð}</option>
|
208
|
+
<option value="tab2.htm">�§L��ҽm����</option>
|
209
|
+
<option value="tac1.htm">ù�B�c�F�ڥ����� �M�m�Ȭw��</option>
|
210
|
+
<option value="tba1.htm">�Q�����y�|�ڱ��K�Q�l</option>
|
211
|
+
<option value="tba2.htm">�^����2000�H�e�l�W��</option>
|
212
|
+
<option value="tba3.htm">�Y�g���y�u�y�]�v �P���T�ɱo�o�^�y��</option>
|
213
|
+
<option value="tbb1.htm">���ڰ������d���w��� �������|�q�L</option>
|
214
|
+
<option value="tbc1.htm">���y���y�R�N���G���k���a�y �H���d�~��� . . .</option>
|
215
|
+
<option value="tbd1.htm">���z���G�����������ϰ�</option>
|
216
|
+
<option value="tbe1.htm">�Ϲ�u�Q�I�q�vë�i �H�k�v���l�Q��</option>
|
217
|
+
<option value="tbt1.htm">���W�K��s�Ѷ}�� ��ѩ��ȩ]��Ѱg</option>
|
218
|
+
<option value="tbu1.htm">��j�ǽоǥͭ����\</option>
|
219
|
+
<option value="tbv1.htm">�x�~�o�����qĵ���ѥ]</option>
|
220
|
+
<option value="tbw1.htm">���`�s�ǤH�A�d�����Ѻ���</option>
|
221
|
+
|
222
|
+
</select>
|
223
|
+
</form>
|
224
|
+
</td>
|
225
|
+
</tr>
|
226
|
+
<tr>
|
227
|
+
<td>
|
228
|
+
<table width="100%">
|
229
|
+
<tr>
|
230
|
+
<td align="left"><script src="../js/chfontsize.js"></script></td>
|
231
|
+
</tr>
|
232
|
+
</table>
|
233
|
+
</td>
|
234
|
+
<td>
|
235
|
+
|
236
|
+
<table align="right" cellpadding="0" cellspacing="0" border="0">
|
237
|
+
<tr>
|
238
|
+
<td align="right"><script type="text/javascript">document.write(new setNavigation("menu1").getPrev());</script></td>
|
239
|
+
<td align="right"><script type="text/javascript">document.write(new setNavigation("menu1").getNext());</script></td>
|
240
|
+
<tr>
|
241
|
+
</table>
|
242
|
+
|
243
|
+
</td>
|
244
|
+
</tr>
|
245
|
+
</table>
|
246
|
+
<table width="100%" border="0">
|
247
|
+
<tr>
|
248
|
+
<td>
|
249
|
+
<script src="../js/Adv/ContentAdvert1.js"></script>
|
250
|
+
</td>
|
251
|
+
</tr>
|
252
|
+
</table>
|
253
|
+
<h1><div id="articleheading">����s�R����̹]�W�Цʭ�<br><br>�æ��ɭˬr�o�ƩҭP �ۭ��c�G</div></h1><br>
|
254
|
+
|
255
|
+
|
256
|
+
|
257
|
+
<span id="advenueINTEXT" name="advenueINTEXT">
|
258
|
+
<div class="content_medium" id="newscontent01">�i�����M�T�j����@����Ǭ�s���i�o�{�A�J�f���ꪺ�j�̧t�]�q���W�w�������A�i���̪��]����q�i��W�X���ꭹ�~���Ī��z���]FDA�^�зǹF120���A��p�����d�v�T�ơC���M�a���ܡA����a���~�ӱN���r�o�ưe��o�i����a�B�z�A�ìV�Ů�M�����A���G�O�A���~���ìV�A�˹L�ӥX�f�����v�T����a�CFDA���ܡA�N�N���i�i�}�լd��i�C</div>
|
259
|
+
<br>
|
260
|
+
|
261
|
+
<div id="inewscontent"></div>
|
262
|
+
|
263
|
+
<div class="content_medium" id="newscontent02"><p>����X�T���j�ǡ]Monmouth University�^���ҤƾDZM�a�q�J�ĥ�]Tsanangurayi Tongesayi�^�դh�A�����ƾǾǷ|�~�|�o����������i�f�j�̪���s���i�C�ثe����j�̦�7%���i�f�j�̡A�ӷ��a�]�A����j���B�x�W�B����B�L�סB�����B�N�j�Q�B�H��C�M���J���a�C��s������U�ӷ��a���j�̼˥��A�����t�]�q�A�A�����ꤣ�P�ڸs�C�饭���i�����j�̤��q�A�p�⤣�P�ڸs���]����q�A�PFDA����ij�i�e�\����q����C</p>
|
264
|
+
<p></p>
|
265
|
+
<p>��FDA�լd��i</p>
|
266
|
+
<p></p>
|
267
|
+
<p>��s�o�{�A�j�̼˥����t�]�q�����C����6��12�@�J�A���ݶW�Ф����A�䤤�Ӧۤ���j���Υx�W���j�̧t�]�q�̰��C�Y�i���o�Ǥj�̡A���H�����]����q�N�W�X�i�e�\����q20��40���A�ൣ�h�����W��30��60���A�ܩ�i���j�̤��q���h�����ȸǨൣ�A��W�йF60��120���C</p>
|
268
|
+
<p></p>
|
269
|
+
<p>�q�J�ĥ�դh���X�A�ھ�FDA��ij�A�]����q�W�йO10���ΥH�W�A�i��O�H�龹�x�Τ��ϯ��g�t�Ψ��l�A��6���H�U�ൣ��i��]�]���r�ӾɭP�o�|��w�Ʀܦ��`�A�]���j�̧t�]�q�W�Ъ����G�O�H���`�C</p>
|
270
|
+
<p></p>
|
271
|
+
<p>����s���X�A�L�פΤ��굥��a�`�H���g�B�z���ä��A�Ʀܤu�~�o����@�C�ѩ�j�̻ݭn�l���j�q�����A�O�j�̸���L�D�n�A�@��������ìV�C�t�@�譱�A���i��a�N�q�l�o�ƥX�f��o�i����a��m�����G��W�A�O�����a���Y���ìV�A��O�j�̧t�]���D�c�ơC�q�J�ĥ�դh�١A�۫H�j�̬O�b�ѺعL�{�����ìV�C</p>
|
272
|
+
<p></p>
|
273
|
+
<p>�L�j�աA�H�ӭ��~�������y�ơA�����i��Ӧۥ��y����@�Ө����A�����P�a�Ϫ��ìV���G�U���A�g�`���H�ҩ����C�L��ij�U��F����q���y�ƳW�d�A�[�j���~�Ͳ��ξP�⪺�w���ʺޡA�������F�ѭ��~�ìV���G�C���M�p�X�ꭹ�~�k��e���|�q����ڭ��~�w���зǡA���ѩ�D�����k�W�A���ʬ����O�CFDA���ܱN�լd��i�W�z���i�C</p>
|
274
|
+
<p></p>
|
275
|
+
<p>�]��X���D�^</p>
|
276
|
+
<p></p>
|
277
|
+
<p></p></div>
|
278
|
+
</span>
|
279
|
+
<table width="100%" border="0">
|
280
|
+
<tr>
|
281
|
+
<td>
|
282
|
+
|
283
|
+
<div class="push" id="supportblock02">
|
284
|
+
<table cellpadding="0" cellspacing="0">
|
285
|
+
<tr>
|
286
|
+
<td><a href="javascript:clickSupport();"><img src="../image/shim.gif" alt="��" width="40" height="25" border="0"></a></td>
|
287
|
+
<td><div id="supportcontent02" class="content_push"></div></td>
|
288
|
+
</tr>
|
289
|
+
</table>
|
290
|
+
</div>
|
291
|
+
|
292
|
+
</td>
|
293
|
+
<td align="right">
|
294
|
+
<form name="form2">
|
295
|
+
<select id="select" name="select" onChange="if (this.options[this.selectedIndex].value.search(/redirect/i) >= 0) window.open(this.options[this.selectedIndex].value,'redirect','').focus(); else MM_jumpMenu('parent',this,0);">
|
296
|
+
<script language="JavaScript" src="insttaoptions.js"></script>
|
297
|
+
<option value="taa1.htm" selected>����s�R����̹]�W�Цʭ�</option>
|
298
|
+
<option value="../cfm/Redirect.cfm?ch=ta&NewsFile=20130412%2Fta%2Fta%2Ftaa2%5Fer%2Etxt">��w����d ���o�{���D</option>
|
299
|
+
<option value="taa3.htm">���a���p 1/10�Ѧa���ìV</option>
|
300
|
+
<option value="tab1.htm">���R�¾ɼu���ФW�[ �G�G�ð}</option>
|
301
|
+
<option value="tab2.htm">�§L��ҽm����</option>
|
302
|
+
<option value="tac1.htm">ù�B�c�F�ڥ����� �M�m�Ȭw��</option>
|
303
|
+
<option value="tba1.htm">�Q�����y�|�ڱ��K�Q�l</option>
|
304
|
+
<option value="tba2.htm">�^����2000�H�e�l�W��</option>
|
305
|
+
<option value="tba3.htm">�Y�g���y�u�y�]�v �P���T�ɱo�o�^�y��</option>
|
306
|
+
<option value="tbb1.htm">���ڰ������d���w��� �������|�q�L</option>
|
307
|
+
<option value="tbc1.htm">���y���y�R�N���G���k���a�y �H���d�~��� . . .</option>
|
308
|
+
<option value="tbd1.htm">���z���G�����������ϰ�</option>
|
309
|
+
<option value="tbe1.htm">�Ϲ�u�Q�I�q�vë�i �H�k�v���l�Q��</option>
|
310
|
+
<option value="tbt1.htm">���W�K��s�Ѷ}�� ��ѩ��ȩ]��Ѱg</option>
|
311
|
+
<option value="tbu1.htm">��j�ǽоǥͭ����\</option>
|
312
|
+
<option value="tbv1.htm">�x�~�o�����qĵ���ѥ]</option>
|
313
|
+
<option value="tbw1.htm">���`�s�ǤH�A�d�����Ѻ���</option>
|
314
|
+
|
315
|
+
</select>
|
316
|
+
</form>
|
317
|
+
</td>
|
318
|
+
</tr>
|
319
|
+
</table>
|
320
|
+
|
321
|
+
<div align="right">
|
322
|
+
<table cellpadding="0" cellspacing="0" border="0">
|
323
|
+
<tr>
|
324
|
+
<td><script type="text/javascript">document.write(new setNavigation("select").getPrev());</script></td>
|
325
|
+
<td><script type="text/javascript">document.write(new setNavigation("select").getNext());</script></td>
|
326
|
+
<td width="5"> </td>
|
327
|
+
<tr>
|
328
|
+
</table>
|
329
|
+
</div>
|
330
|
+
|
331
|
+
|
332
|
+
<br>
|
333
|
+
|
334
|
+
<div class="lightgrey_line"></div>
|
335
|
+
<script language="JavaScript" src="../js/adv/Advert35.js"></script>
|
336
|
+
<div class="lightgrey_line"></div>
|
337
|
+
<br>
|
338
|
+
|
339
|
+
<table width="100%" border="0"> <tr> <td> <div class="content_medium_g"> <div class="b">�����峹 <img src="../image/b_round.gif" width="13" height="13"></div> </div> </td> <td align="right"><a href="taindex.htm" class="related_link">[��ܥ����D��]</a></td> </tr></table><div class="green_line"></div><table width="100%"> <tr> <td><ul><li> <a href="taa1.htm" class="orange_link"> ����s�R����̹]�W�Цʭ� </a> </li><div class="grey_dashline"></div><li> <a href="../cfm/Redirect.cfm?ch=ta&NewsFile=20130412%2Fta%2Fta%2Ftaa2%5Fer%2Etxt" target="_blank" class="orange_link"> ��w����d ���o�{���D </a> </li><div class="grey_dashline"></div><li> <a href="taa3.htm" class="orange_link"> ���a���p 1/10�Ѧa���ìV </a> </li><div class="grey_dashline"></div></ul></td> </tr></table><br>
|
340
|
+
|
341
|
+
<div id="feelblock" style="visibility:hidden;">
|
342
|
+
<script language="JavaScript" src="../js/WebNews2/ContentFeelEntry1.js"></script>
|
343
|
+
</div>
|
344
|
+
<table width="100%">
|
345
|
+
<tr>
|
346
|
+
<td><table border="0" align="right">
|
347
|
+
<tr>
|
348
|
+
<td><a href="http://forum.mingpao.com/cfm/Forum1.cfm?OwnerID=1" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image36','','../image/b_forum_f2.gif',1)"><img src="../image/b_forum.gif" alt="�ڭn�Q��" name="Image36" width="89" height="27" border="0"></a><a href="#"></a></td>
|
349
|
+
<td><a href="mailto:mpworldnews@mingpao.com?Subject=����s�R����̹]�W�Цʭ�,�æ��ɭˬr�o�ƩҭP �ۭ��c�G(�Фŭק�)" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image37','','../image/b_reply_f2.gif',1)"><img src="../image/b_reply.gif" alt="�ߧY�^��" name="Image37" width="89" height="27" border="0"></a><a href="#"></a></td>
|
350
|
+
<td> </td>
|
351
|
+
</tr>
|
352
|
+
</table>
|
353
|
+
<td></td>
|
354
|
+
</tr>
|
355
|
+
</table>
|
356
|
+
<div class="grey_line"></div>
|
357
|
+
</div>
|
358
|
+
</td>
|
359
|
+
</tr>
|
360
|
+
</table>
|
361
|
+
</div>
|
362
|
+
</td>
|
363
|
+
<td valign="top" width="300">
|
364
|
+
<div class ="side_box right">
|
365
|
+
|
366
|
+
|
367
|
+
|
368
|
+
<table width="300" border="0" cellpadding="0" cellspacing="0" style="width:300px">
|
369
|
+
<tr><td style="width:300px">
|
370
|
+
<script language="JavaScript" src="../js/Adv/Advert44DFP.js"></script>
|
371
|
+
</td></tr>
|
372
|
+
<tr><td style="width:300px">
|
373
|
+
<script language="JavaScript" src="../js/Adv/Advert45DFP.js"></script>
|
374
|
+
</td></tr>
|
375
|
+
</table>
|
376
|
+
|
377
|
+
|
378
|
+
<div id="keywordcontent" style="visibility:hidden;">
|
379
|
+
<table width="100%">
|
380
|
+
<tr>
|
381
|
+
<td>
|
382
|
+
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="grey_gradual">
|
383
|
+
<tr>
|
384
|
+
<td><div class="content_big">�������</div></td>
|
385
|
+
</tr>
|
386
|
+
</table>
|
387
|
+
<div class="grey_dashline"></div>
|
388
|
+
<div class="bottom_space"></div>
|
389
|
+
<div id="keywordcontent01" style="visibility:hidden;" class="content_medium_g">���סD���}</div>
|
390
|
+
<ul>
|
391
|
+
<div id="keywordcontent011" style="visibility:hidden;"></div>
|
392
|
+
</ul>
|
393
|
+
</div>
|
394
|
+
<div id="keywordcontent02" style="visibility:hidden;" class="content_medium_g">��</div>
|
395
|
+
<ul>
|
396
|
+
<div id="keywordcontent021" style="visibility:hidden;"></div>
|
397
|
+
</ul>
|
398
|
+
</div>
|
399
|
+
<div id="keywordcontent03" style="visibility:hidden;" class="content_medium_g">��������</div>
|
400
|
+
<ul>
|
401
|
+
<div id="keywordcontent031" style="visibility:hidden;"></div>
|
402
|
+
</ul>
|
403
|
+
</div>
|
404
|
+
</td>
|
405
|
+
</tr>
|
406
|
+
</table>
|
407
|
+
<br>
|
408
|
+
</div>
|
409
|
+
|
410
|
+
|
411
|
+
<table width="300" border="0" cellpadding="0" cellspacing="0" style="width:300px">
|
412
|
+
<tr><td style="width:300px">
|
413
|
+
<script language="JavaScript" src="../js/Adv/Advert31DFP.js"></script>
|
414
|
+
</td></tr>
|
415
|
+
<tr><td><table width="100%" border="0"><tr><td><script language="JavaScript" src="../js/Adv/Advert32.js"></script></td></tr></table>
|
416
|
+
</td></tr>
|
417
|
+
<tr><td>
|
418
|
+
<script language="JavaScript" src="../js/Adv/Advert33DFP.js"></script>
|
419
|
+
</td></tr>
|
420
|
+
<tr><td><table width="100%" border="0"><tr><td><script language="JavaScript" src="../js/Adv/Advert34.js"></script></td></tr></table>
|
421
|
+
</td></tr>
|
422
|
+
</table>
|
423
|
+
|
424
|
+
</div>
|
425
|
+
</td>
|
426
|
+
</tr>
|
427
|
+
</table>
|
428
|
+
</div>
|
429
|
+
</td>
|
430
|
+
</tr>
|
431
|
+
</table>
|
432
|
+
<!--footer start-->
|
433
|
+
<script language="JavaScript" src="../js/TopMenu/Bottom.js"></script>
|
434
|
+
<!--footer end-->
|
435
|
+
|
436
|
+
<script type="text/javascript">
|
437
|
+
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
|
438
|
+
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
|
439
|
+
</script>
|
440
|
+
<script type="text/javascript">
|
441
|
+
var pageTracker = _gat._getTracker("UA-4717822-6");
|
442
|
+
pageTracker._trackPageview();
|
443
|
+
</script>
|
444
|
+
|
445
|
+
|
446
|
+
|
447
|
+
</div>
|
448
|
+
<script language="javascript" src="../js/AdvertPixelMedia1.js"></script>
|
449
|
+
<script language="JavaScript" src="../js/Keywords2/mouseover_all.js"></script>
|
450
|
+
<script language="JavaScript" src="../js/Keywords21.js"></script>
|
451
|
+
<script language="JavaScript" src="../js/Advert2DFP.js"></script>
|
452
|
+
<script language="JavaScript" src="../js/AdvertMSIG.js"></script>
|
453
|
+
<script language="JavaScript" src="../js/SupportAndFeel.js"></script>
|
454
|
+
</body>
|
455
|
+
</html>
|