至于这个问题,我刚刚小小修改了一下我的程序,现在答案已经出来,请哪位 原文章: http://www.oschina.net/code/snippet_192190_16605 * * @author 冷流云 * @param 新浪微博 http://weibo.com/130326007 */function getLower($data){$length = strlen($data)-1;$str = '';for ($i=0;$i$flag = true;if(!isUpper($data[$i])){//当前为小写 成立if($i == 3){$flag = getFlag($data,$i);//如果后第四个是大写 不成立if(isUpper($data[$i+4])){$flag = false;}}else if($i == $length-3){$flag = getFlag($data,$i);//如果前第四个是大写 不成立if(isUpper($data[$i-4])){$flag = false;}}else if($i>3 && $i$flag = getFlag($data,$i);//如果前||后第四个有一个是大写就不成立if(isUpper($data[$i+4]) || isUpper($data[$i-4])){$flag = false;}}else{$flag = false;}if($flag){@$str .= $data[$i];}}}return $str;}//公共当前字符的前三后和三个function getFlag($data,$i){$flag = true;for($j=$i-3;$jif($j != $i){//如果有一个是小写就不成立if(!isUpper($data[$j])){$flag = false;}}}return $flag;}/** * * 判断是否是大写字母 */function isUpper($s){if(@ord($s) return true;}else{return false;}}$res = '';$handle = fopen("./input.txt",'r');$d = fread($handle,filesize("./input.txt"));$res = getlower(str_replace("\r\n","",$d));/*while(!feof($handle)){//逐行读取方法$buffer = fgets($handle,4096);$res .= getlower($buffer);}*/echo $res;fclose($handle);?>复制代码 09-16 07:23