PDA

查看完整版本 : 小偷程序核心代码


Tony
2005-08-12, 05:37 PM
一牛人写的,效率其高:<?php

ob_start();

$text .= "  “不――――”霍恩斯在几步外眼看着岩浆悄无声息地把火岩推走,黄色的瞳仁瞬间冲满了血块。在小矮人的经历中,沙若、大青山、艾米、林雨裳是他最开始接触到的人类。在矮人的社会中,对于人类整体水平的评价并不高,甚至不能用毁誉参半这样的中性词来形容,在矮人一些长辈嘴里,矮人和人类打交道,必须打起十二万分的小心,“诚信”这样的词对于大部分人类都是太高的要求,如果一个人类可以不做出违背良心的事情,这已经算是尽善尽美了。让霍恩斯震惊的是,四个人类少年让他看到了矮人特有的忠诚、友善、平和、善良等优秀品质,就以四个少年的平均水平而言,他们已经超过了矮人王国最古老的家族。结识不过数年,霍恩斯对于几个人却象终身老友。在小矮人的心中,小佣兵团就是自己在人类社会的家,而这四个少年就是自己血脉最密的兄长姊妹。小矮人疯狂地挣开了火炉和另外两个矮人骑士的手,象一只迅猛的豹子一样在熔岩上空高高跃起,右脚在火岩上用力一踩,火岩被踩得咚咚全部没入岩浆,霍恩斯的身体再次腾空而起……突然,一根细长的红色光影象一道长虹从后面重重撞来,凌空的霍恩斯根本没有防备,身体象弹射而出的石子,咚的一声重重撞向了岩石……就在这一瞬间,以沙若娇弱身躯为中心,在一声娇呼声中,无边无沿的地穴中突然爆发出一阵刺眼的红光,伴随着红光是一连串从粘稠熔岩中传出来的低沉鸣叫声――死水一样流动而过的熔岩似乎为收下这最为珍贵的祭品而欢呼。霍恩斯身体已经落在了岩石上,刚想再次跃起,立刻发现一道红色的丝带狠狠地缠在自己的身上,高挑的肩甲呻吟了一声被红色丝带勒成碎片,丝带狠狠勒在矮人高高凸起的臂肌上,鲜血顺着手臂流淌出来:“放开我,放开我!沙若!沙若,回答我!回答我啊!”小矮人愤怒地咆哮着,疯狂地挣扎着,声音几近声嘶力竭。“是熔岩虫,快割断它!”矮人骑士中立刻有人认出这条红色带子,在传说中,这种熔岩虫一般是成对生活,其中一只死去,另外一只成虫多半也会郁郁寡欢很快死去,没有想到这只熔岩虫竟然选择了报复,而且,显然这种诡异的生物竟然有了不起的智慧,在刚才的一路上,霍恩斯丝毫没有任何破绽,那只熔岩虫一定对他背后的战斧存在的恐惧心理,直到刚才的一刻,霍恩斯身边没有任何人,而脚下就是熔岩,致命的战斧又挂在背后,也直到这一刻,熔岩虫才暴起袭击,并选择了同归于尽。“滚蛋!你可恶的虫子。”霍恩斯疯狂地伸手去摘战斧,矮人手臂粗短,熔岩虫又紧紧扣在手臂上,根本够不到斧子。熔岩虫是世界上最有韧性和弹性的动物,看似纤细的虫体拥有可怕的破坏性,红色虫体紧紧收缩中,轻微的爆响连成了一片,霍恩斯身上结实的矮人出品的铠甲一片片被勒断,细小的钢丝圈、轻薄的钢片、柔韧的钢龙骨一件一件的变形、弹出,矮人粗壮结实的手臂上爆起的静脉被勒断了,血水汩汩的流出……火炉和几个伙伴着急得要抓狂,刚才几块小火岩被霍恩斯一脚踩下去,不知道沉到哪里去了,更不知道何时才会浮起来……小矮人眼睛里露出暴怒色,猛得全身用力向熔岩滚去――岩石距离熔岩,不过仅仅数步之遥,最下面的岩石已经滚烫,熔岩顺着岩石向上侵吞着,小矮人裹着熔岩虫瞬间来到岩石边上,矮人棕色的胡须嘭得被滚滚热浪凌空炙烤成灰烬,就在这一刻,熔岩虫本能地对这自然界唯一的生死大敌感到了惊恐,下意识地稍微一松动,霍恩斯立刻把握住了这一瞬间,双臂猛得上抬去摘战斧,用脚撑住了下滑的趋势,熔岩虫当即知道自己上了当,准备殉情的虫子也确实有以死明志的念头,不顾近在咫尺的熔岩,接着狠狠勒了进来。霍恩斯刚刚抬起的手臂立刻又被死死地绑住,手臂部位已经略微向上,小矮人全力低下头,狠狠咬住了熔岩虫,一股巨热火辣辣的刺激着小矮人的嘴、舌头、牙齿,熔岩虫吃痛,再次猛收力量,霍恩斯嘴唇顿时也被勒出了血,两排锐利的钢牙开始奋力锉动,熔岩虫细长的皮肤立刻被磨开,红色的血液流入霍恩斯嘴里,炙热的细流顺着嘴、食管一直流淌到胃里,火辣辣地煎熬着……火炉等矮人骑士在十多米外都可以听到霍恩斯牙齿咬锉间发出的嘎吱嘎吱声,看着小矮人全身青色血管被挤压得暴起,接着一点点暴开,鲜血喷洒而出……嘣……一声沉闷的响声在整个地穴中回荡,熔岩虫象两道红色闪电一样向外射去,紧接着紧紧的缩成一团,烂泥一样在地上翻滚着最终落入了熔岩中,一股淡淡的臭味从熔岩中升起。霍恩斯怒号了一声,爬滚着扑到了岩石边,从背后摘下了车轮大斧,调转斧攥在熔岩中搅动着,嘴里下意识的喊着:“沙若……沙若……快回答我!快回答我呀!”刚才吞没沙若的地方,就像什么也没有发生过,只有暗红色的熔岩,无声得,一点点流淌而过……滚滚熔岩中,空无一物……不知不觉中,泪水顺着矮人脸颊滚滚而下,很快和脸上的伤口融合在一起,泪水、血水一点一滴地挂满了小矮人被烧焦一半的胡须。很多时候,只有失去了,才知道一个朋友真正的宝贵之处……沙若,一个不论是人前还是人后,都极为不喜欢说话的女孩。从认识霍恩斯的一天起,最多的表情只是抿着嘴浅浅的笑。在性格方面,她和木纳但颇有长兄之风的大青山几乎同出一辙,在任何时候,不会在人前与任何人产生那怕一丁点冲突,即使被人用调侃的语调嘲笑了,也多是微微一笑,绝对不用担心这两个人会在心底记得一点点仇恨。这两个人的心简直就是用金子做的!洁净,善良,容不得一丝污垢。";
$text .= "<br />";

/**
* 4000个字符即2000汉字的测试数据
* 长度:4266
* 时间:0.00074
*
* 100W个字符即50W汉字的测试数据
* 长度:1126224
* 时间:0.8296
*/
echo '长度:'.strlen($text)."<br />\n";
startTimer();
$text = String::wordWrapWithChr($text, 121, "<br />\n");
echo '时间:'.endTimer()."<br />\n";
echo "<br />\n{$text}";

/**
* 中文字符串函数库
* 封装各种中文字符操作函数 (Mon Aug 01 11:08:48 CST 2005)
* @version 1.0.0
* @author StarSoul
*/
class String
{
/**
* subStrWithSuffix
* 中文字符截取 (Mon Aug 01 11:13:34 CST 2005)
* @version 1.0.0
* @author
* @deprecated 解决中文截取出现乱码
* @return string
*/
function subStrWithChr ($string, $length, $start = 0)
{
if ($start < 0 || ($stringLength = strlen($string)) < $start) return $string;
$length = (($length < 1 || $length > $stringLength)?$stringLength:$length);
for ($i = 1, $o = ($start % 2)?2:1; ($start > 0 && $i < $o && ord(substr($string, $start , 1)) > 0xa0); $i ++) $start --;
for ($i = 1, $o = ($length % 2)?2:1; ($stringLength > $length && $i < $o && ord(substr($string, $length - 1 , $length)) > 0xa0); $i ++) $length ++;
$string = substr($string, $start, $length);
return $string;
}

/**
* wordWrapWithChr
* 字符截行 (Mon Aug 01 14:15:37 CST 2005)
* @version 1.0.0
* @author
* @deprecated 解决中文截取出现乱码
* @return string
*/
function wordWrapWithChr ($string, $width, $break = null)
{
/**
* 中文标点符号怎么处理?暂时没有比较好的解决方案
* ,。?:;’‘“”、()*……—…%¥$£·!
*/
for ($break = $break?$break:"\n", $line = 0, $text = array(), $handle = 0, $length = strlen($string); $handle < $length; $handle += strlen($text[$line ++]))
$text[$line] = String::subStrWithChr($string, $width, $handle);
return implode($break, $text);/* */
}
}
function startTimer()
{
global $starttime;
$mtime = microtime ();
$mtime = explode (' ', $mtime);
$mtime = $mtime[1] + $mtime[0];
$starttime = $mtime;
}
function endTimer()
{
global $starttime;
$mtime = microtime ();
$mtime = explode (' ', $mtime);
$mtime = $mtime[1] + $mtime[0];
$endtime = $mtime;
$totaltime = round (($endtime - $starttime), 5);
return $totaltime;
}
?>

云吞仔仔
2005-10-29, 11:40 PM
有乜用?