
07年辩证法
![]()
AS Code
// 遍历节点parentXML下的所有子节点,要求节点都具有名为label的属性,以便trace结果,或者有其他可供trace的属性也可 function parse_xml(parentXML:XMLNode) { var xmlNode:XMLNode = parentXML.firstChild; while(xmlNode != null) { trace(xmlNode.attributes["label"]) // 如果当前节点有子节点,则转入子节点 if(xmlNode.hasChildNodes()) { trace("进入子节点") xmlNode = xmlNode.firstChild; continue; } // 如果当前节点的同级下一个节点不为null,显示同级下一个节点 if(xmlNode.nextSibling != null) { xmlNode = xmlNode.nextSibling continue } // 如果同级下一个节点为null,父节点不为null,父节点不为统计的最顶层节点,则循环回溯 while(xmlNode.parentNode != null && xmlNode.parentNode != parentXML && xmlNode.nextSibling == null) { xmlNode = xmlNode.parentNode; } xmlNode = xmlNode.nextSibling } }
使用php处理ActionScript代码,生成语法高亮的HTML页面。
处理的关键其实是注释段代码和引号里的代码。其他部分只要用正则表达式替换就可以了。
字符串代码和注释代码都具有很高的处理等级,因为注释里的任何代码,包括关键字、语法字,字符串等,都不会再处理,统一当作注释格式显示。而字符串里的代码也是这样,字符串里的任何代码,包括符合注释规则的代码都不应该再处理,而统一成字符串格式输出。
为此,我们需要首先把注释和字符串单独提取出来,保存在两个数组里面,然后对剩余的,不包含注释和字符串的代码进行语法高亮处理,最后,再把注释和字符串替换回去就可以了。
在做任何事情之前,先把特殊字符替换成HTML字符:
PHP Code
function filterHTML($asCode) { $replace = array ("&", """, "'", "<", ">", " "); $search = array ("'&'", "'\"'", "'\''", "'< '", "'>'", "' '"); $asCode = preg_replace ($search, $replace, $asCode); return $asCode; }
注意:$search数组里第2,3个元素第一个单引号后是有转义符的,但是由于wordpress处理的时候把转义符给去掉了,所以没显示出来。
在提取注释和字符串的时候应该注意的是,注释和字符串有同等的权利,只能按照谁出现的早就处理谁的规则进行提取,而不能说是先提取注释,或者先提取字符串,因为存在注释中包含字符串,字符串中包含注释的情况。为此,我们需要使用strpos就行判断。另外,注释有两种格式,一种是//,另一个是/**/,字符串包括双引号的和单引号的。因此首先要分别使用strpos获得第一次出现它们的位置,然后获取值最小的那个,也就是最早出现的那个,进行处理。直到再也查不到任何符合规则的代码,或者中间遇到了错误。
(more…)
[问题描述]:a.swf文件中使用ComboBox组件做了下拉框,单独打开a.swf,下拉框正常,b.swf是个外框文件,现在要用b.swf把a.swf加载到b.swf里的一个MC里,结果a.swf中的下拉框不正常了,下拉框里的项是正常的,就是点击后打不开列表,经测试,ComboBox的open事件也触发了,但是就是不显示列表。
[探索]:查遍Flash帮助、Flash组件帮助也没找到答案。无奈,只好打开ComboBox.as文件,看代码,700多行代码可不好看。在打开组件源文件,把ComboBox的组件源MC拖到新文件t1.fla里,然后在ComboBox.as里查找open事件,会看到它调用的是displayDropdown函数,然后再找到这个函数定义的地方,一句句读,看到一句
AS Code
var dd = __dropdown;
,从字面意思猜,它就应该是那个下拉弹出框,所以在它后面添加一句
AS Code
trace("dd " + dd);
,重新导出t1.fla,看到了trace出的语句dd _level0.depthChild0,然后新建t2.fla,新建空元件load,把load拖到舞台上,使用load作为容器加载t1.swf,结果trace出来是dd null,显然问题就出在这里。
(more…)
今天遇到一个问题,SWF文件中有一个ComboBox组件和多个普通的,非组件的按钮,如果没有点击过ComboBox,那么这些普通按钮可以快速的连续点击,当更改了ComboBox的选项后,这些按钮则无法连续点击,只能点击一下,然后移动鼠标位置,才能再次点击。思考了许久后,猜测是焦点问题,因此,监听ComboBox实例的close事件,并强制移除焦点,代码如下:
AS Code
cbListener.close = function(evt_obj:Object){ focusManager.setFocus(null); }
然后导出SWF,按钮恢复正常。
文章目录:
1、前言
2、本站空间需求
3、为什么选择九州未来
4、几个月来的感受
5、小结及相关链接
一、前言。
使用九州未来科技的空间有一段时间了,写下感受,给那些正在找空间的朋友一些参考。在保留完整信息的前提下,可以转载本文。
本文原始网址:http://4nothing.net/blog/?p=273
二、本站空间需求
首先说下自己吧,我喜欢算法和编程,喜欢研究事情的来龙去脉,想要知道事情的细节流程。目前主要使用Flash ActionScript。这是我的第一个小站(当然不会是最后一个),就像名字4nothing(= for nothing)一样,这个站主要是为了记录下自己的人生感受,写写Flash AS方面的经验总结,简单的说呢,就是个人博客。
因此,主要需求如下:
主要的就是上面几点,因为我的站只是放放博客,所以基本上没有其他要求。
三、为什么选择九州未来
我看过不少空间商的介绍,正规的空间商价格很贵(这里的所谓正规,是我自己认为的,凡是在空间商主页下面注明了运营许可证号的我都认为是正规的,反之……),基本上200M的空间就要300多块,而双线空间就更贵了,还限制连接数。而看起来不是很正规的空间的价格是便宜些,但是如果是一次付费一年,到最后几个月很可能会频繁出问题(我第一次使用的空间就是那样)。
而看到九州未来的空间,很让我动心
这些都很让我动心,但是当时还担心一点,就是流量限制的问题,假如以后扩容的话,增加的费用还不如换一另一个类型的产品好,所以我选择了第二种产品,也就是月流量限制是6G的那个。(实际上我的空间每月流量1.5G左右)
四、几个月来的感受
总的感觉不错,访问速度不错,也挺稳定。不过也遇到了些小问题。由于我选择的是Windows型的主机,而放的是PHP+MYSQL的wordpress博客,刚开始出现了几次数据库链接失败的问题,客服解释说是Windows主机对Mysql的支持不好,建议我换Linux型的主机。后来没再出这样的问题,所以我也没换。还有个问题是提交技术支持的时候,他们客服的回复时间比较长,虽然回复邮件里明明写着如果还有问题可以直接回复本邮件,但是我回复了几次,他们没有任何回应!不得已又重新提交了问题才得到答复。
不过总的来说没遇到什么大问题。
忘了说了,还有一点,提醒使用wordpress的站长,这个空间不支持mod_rewrite,不能使用其他种类的永久链接。
五、小结及相关链接
空间是挺好的,由于平时问题也不多,而Plesk面板功能强大,基本上可以解决问题。
九州未来网站地址:http://www.hosting.czm.cn/
另外,这个空间可以试用2天,建议在购买前先试用。也可以先购买一个月的试试。