生成静态页,文章标题拼音命名重复的解决方法。

刚才发布了一篇文章:ASP/VBScript 汉字转拼音程序,只支持GBK(http://www.miaoqiyuan.cn/p/vbscript-gbk-pinyin)。你可能已经猜出来了,为了SEO优化而转换为拼音的路径,用这个函数可以很方便的解决了。但是中国文字博大精深,相同读音的字太多了,那么上边说的方法生成的路径可能就要冲突了,怎么办呢?在此,我给大家提供一个解决方法。因为是windows平台,使用vbscript脚本来实现。
实际很简单。先用like查询是否有类似的路径,并记录结果数tms。如果tms=0怎用拼音,如果结果数大于1,则用拼音&结果数的方法。很简单吧,给出的代码如下:

'cscript [thisScriptName.vbs]

set conn=createobject("ADODB.connection")
conn.open "provider=microsoft.jet.oledb.4.0;data source=D:\miaoqiyuan\Products\labs\故事\dat\db.mdb"

'table c
'n 故事名称
'd 标题读音
'g 故事
'c 出处
'p 标题首写字母
'u 故事路径
set rs=createobject("ADODB.recordset")
rs.open "select * from c",conn,3,2
do while not rs.eof
	staTme=timer
	tms=conn.execute("select count(u) from c where u like '"&rs("p")&"%'")(0)
	wscript.echo "正在整理"&rs("n")&"中..."
	if tms=0 then
		rs("u")=rs("p")
	else
		rs("u")=rs("p")&tms
	end if
	rs.update
	wscript.echo "整理"&rs("n")&"完毕,用时"&(Timer()-staTme)*1000&"毫秒。"
	rs.movenext
loop

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.