📄 01_4_13_2.asp.html
字号:
mso-ansi-language:FR;mso-fareast-language:ZH-CN;mso-bidi-language:AR-SA">外置式</span><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:12.0pt;font-family:"Times New Roman";
mso-fareast-font-family:宋体;mso-font-kerning:1.0pt;mso-ansi-language:FR;
mso-fareast-language:ZH-CN;mso-bidi-language:AR-SA">HTML</span><span style="font-size:9.0pt;mso-bidi-font-size:12.0pt;font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:
"Times New Roman";mso-font-kerning:1.0pt;mso-ansi-language:FR;mso-fareast-language:
ZH-CN;mso-bidi-language:AR-SA">文件</span><span lang="FR" style="font-size:9.0pt;
mso-bidi-font-size:12.0pt;font-family:"Times New Roman";mso-fareast-font-family:
宋体;mso-font-kerning:1.0pt;mso-ansi-language:FR;mso-fareast-language:ZH-CN;
mso-bidi-language:AR-SA"> HellWorld.html</span><span style="font-size:9.0pt;
mso-bidi-font-size:12.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";
mso-font-kerning:1.0pt;mso-ansi-language:FR;mso-fareast-language:ZH-CN;
mso-bidi-language:AR-SA">:</span></td>
</tr>
<tr>
<td width="12%">
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR">L.1<o:p>
</o:p>
</span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR">2<o:p>
</o:p>
</span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR">3<o:p>
</o:p>
</span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR">4<o:p>
</o:p>
</span></p>
<span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:12.0pt;font-family:
"Times New Roman";mso-fareast-font-family:宋体;mso-font-kerning:1.0pt;mso-ansi-language:
FR;mso-fareast-language:ZH-CN;mso-bidi-language:AR-SA">5</span></td>
<td width="88%">
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR"><html><o:p>
</o:p>
</span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR"><body><o:p>
</o:p>
</span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR"><h1>*Var</h1><o:p>
</o:p>
</span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR"></body><o:p>
</o:p>
</span></p>
<span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:12.0pt;font-family:
"Times New Roman";mso-fareast-font-family:宋体;mso-font-kerning:1.0pt;mso-ansi-language:
FR;mso-fareast-language:ZH-CN;mso-bidi-language:AR-SA"></html></span></td>
</tr>
</table>
</td></tr></table><table align=center width=620><tr><td class=a14>
上面的例子都是现实操作中广泛(流行)用法,大家可能感觉到外置式有些复杂,其实不然,你只要把它做成一个函数或者对象就相当容易了。</td></tr></table><table align=center width=620><tr><td class=a14>
关键问题在于,变量的替换,若使用上面的方法,有些不妥,因为默写模板页面不一定是适合的那些变量,如果你把所有的变量都放在foreach里面,那么势必对于程序运行资源造成极大浪费,而且得不偿失,影响效率。这样做成一个函数或者对象,对会有不通用的问题。</td></tr></table><table align=center width=620><tr><td class=a14>
所以建立一个灵活的分析方法,对于模板HTML处理提供良好的快捷的运作模式。</td></tr></table><table align=center width=620><tr><td class=a14>
这个时候我们就要利用Perl强大的语法分析,来做一个自己的HTML语言分析语句了。这个语句看似简单缺令人头疼。</td></tr></table><table align=center width=620><tr><td class=a14>
我们现在以“*”符号作为模板中的变量(类似于Perl 中的$),这样有助于辨析。那么我想要把所有以“*”开头的变量,自动变换成程序内的对应变量,例如:要把*abc成为内部的$abc。一般情况我们需要逐个设置,这样大大浪费了时间,我们现在需要做一个通用的方法,无论什么的量都自动转换。这个语法很简单:</td></tr></table><table align=center width=620><tr><td class=a14>
$_ =~ /\*(\w+)/;</td></tr></table><table align=center width=620><tr><td class=a14>
看似简单的一局话,却有很大的作用,这句就是把以*开头的字符的名找出来,但是有趣的是,你不需要进行太复杂的,只要遇到空格或者其它非标准字符,就会自动排除。</td></tr></table><table align=center width=620><tr><td class=a14>
现在我们要把找到的字符名(即HTML的自定义变量)发给一个临时变量中(该步骤可以不做):$tmp = $1 ;</td></tr></table><table align=center width=620><tr><td class=a14>
现在要做的就是把这个*abc换成量$abc的值:</td></tr></table><table align=center width=620><tr><td class=a14>
$_ =~ s/\*$tmp/$Html{"$tmp"}/g</td></tr></table><table align=center width=620><tr><td class=a14>
这里的$Html是散列变量(HASH),为了方便和容易理解,我在这里采用HASH,这样对应的$Html{‘abc’}就被提出来,换掉*abc了。</td></tr></table><table align=center width=620><tr><td class=a14>
下面就是我做的模板套用函数与例子。</td></tr></table><table align=center width=620><tr><td class=a14>
<table border="1" width="100%">
<tr>
<td width="100%" colspan="2" bgcolor="#C0C0C0"><span style="font-size:9.0pt;mso-bidi-font-size:12.0pt;
font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman";mso-bidi-font-family:"Times New Roman";mso-font-kerning:1.0pt;
mso-ansi-language:FR;mso-fareast-language:ZH-CN;mso-bidi-language:AR-SA">打开文件的函数</span><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:12.0pt;font-family:"Times New Roman";
mso-fareast-font-family:宋体;mso-font-kerning:1.0pt;mso-ansi-language:FR;
mso-fareast-language:ZH-CN;mso-bidi-language:AR-SA">RTF</span><span style="font-size:9.0pt;mso-bidi-font-size:12.0pt;font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:
"Times New Roman";mso-font-kerning:1.0pt;mso-ansi-language:FR;mso-fareast-language:
ZH-CN;mso-bidi-language:AR-SA">:</span></td>
</tr>
<tr>
<td width="14%">
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR">L.1<o:p>
</o:p>
</span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR">2<o:p>
</o:p>
</span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR">3<o:p>
</o:p>
</span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR">4<o:p>
</o:p>
</span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR">5<o:p>
</o:p>
</span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR">6<o:p>
</o:p>
</span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR">7<o:p>
</o:p>
</span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR">8<o:p>
</o:p>
</span></p>
<span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:12.0pt;font-family:
"Times New Roman";mso-fareast-font-family:宋体;mso-font-kerning:1.0pt;mso-ansi-language:
FR;mso-fareast-language:ZH-CN;mso-bidi-language:AR-SA">9</span></td>
<td width="86%">
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR">#!perl<o:p>
</o:p>
</span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR"> <o:p>
</o:p>
</span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR">sub RTF{<o:p>
</o:p>
</span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR">open(READTXTFILE,"$_[0]");<o:p>
</o:p>
</span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR">@readtxtfile=<READTXTFILE>;<o:p>
</o:p>
</span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR">close(READTXTFILE);<o:p>
</o:p>
</span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR">return @readtxtfile;<o:p>
</o:p>
</span></p>
<span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:12.0pt;font-family:
"Times New Roman";mso-fareast-font-family:宋体;mso-font-kerning:1.0pt;mso-ansi-language:
FR;mso-fareast-language:ZH-CN;mso-bidi-language:AR-SA">}</span>
<p> </td>
</tr>
<tr>
<td width="100%" colspan="2" bgcolor="#C0C0C0"><span style="font-size:9.0pt;mso-bidi-font-size:12.0pt;
font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman";mso-bidi-font-family:"Times New Roman";mso-font-kerning:1.0pt;
mso-ansi-language:FR;mso-fareast-language:ZH-CN;mso-bidi-language:AR-SA">分析模板的函数</span><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:12.0pt;font-family:"Times New Roman";
mso-fareast-font-family:宋体;mso-font-kerning:1.0pt;mso-ansi-language:FR;
mso-fareast-language:ZH-CN;mso-bidi-language:AR-SA">PHF</span><span style="font-size:9.0pt;mso-bidi-font-size:12.0pt;font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:
"Times New Roman";mso-font-kerning:1.0pt;mso-ansi-language:FR;mso-fareast-language:
ZH-CN;mso-bidi-language:AR-SA">:</span></td>
</tr>
<tr>
<td width="14%">
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR">L.1<o:p>
</o:p>
</span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR">2<o:p>
</o:p>
</span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR">3<o:p>
</o:p>
</span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR">4<o:p>
</o:p>
</span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR">5<o:p>
</o:p>
</span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR">6<o:p>
</o:p>
</span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR">7<o:p>
</o:p>
</span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:9.0pt;mso-bidi-font-size:
12.0pt;mso-ansi-language:FR">8<o:p>
</o:p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -