我把这个PHP代码保存在文本文件中,我想把这个文本文件转换成Unix的行结尾。 怎么样 ?
<?PHP class City { private $lat=0.0; private $lng=0.0; private $name=""; private $visited=false; private $order=1; function City($name,$lat,$lng) { $this->name=$name; $this->lat=$lat; $this->lng=$lng; } function getName() { return $this->name; } function getLat() { return $this->lat; } function getLng() { return $this->lng; } function getorder() { return $this->order; } function getVisited() { return $this->visited; } function setVisited($value) { $this->visited=$value; } function setorder($value) { $this->order=$value; } } class Main { public $allCities=array(); private $k=1; private $totaldistance=0; /*class main empty constructor*/ function Main() {} function sortArray() { for($i=count($this->allCities)-1;$i>=0;$i--) { for($j=$i-1;$j>=0;$j--) { if($this->allCities[$i]->getorder()<$this->allCities[$j]->getorder()) { $temp=$this->allCities[$j]; $this->allCities[$j]=$this->allCities[$i]; $this->allCities[$i]=$temp; } } } } /* method to read from cities.txt file */ function getCitiesFromTextFile() { $f="cities.txt"; $fo=fopen($f,'r'); while ( $line = fgets($fo,1000) ) { $delimiter=" "; $temp = explode($delimiter,$line); $c11=new City($temp[0],$temp[1],$temp[2]); $this->allCities[]=$c11; } } /* to print the data stored in an array ( without ordering the cities ) */ function displayAllCities() { for($i=0;$i<count($this->allCities);$i++) { print $this->allCities[$i]->getName()."<br>"; } } function rad($x) { return $x*pi()/180; //return $x; } /* to calculate the distance between two cities */ function calculatedistance($city1,$city2) { $lat1=$city1->getLat(); $lng1=$city1->getLng(); $lat2=$city2->getLat(); $lng2=$city2->getLng(); // Spherical law of cosines: d = acos(sin(lat1).sin(lat2)+cos(lat1).cos(lat2).cos(long2-long1)).R // R=3437.74677 (nautical miles) // R=6378.7 (kilometers) // R=3963.0 (statute miles) $R = 6371; // earth's mean radius in km $dLat = $this->rad($lat2 - $lat1); $dLng = $this->rad($lng2 - $lng1); $a = sin($dLat/2) * sin($dLat/2) +cos($this->rad($lat1)) * cos($this->rad($lat2)) * sin($dLng/2) * sin($dLng/2); $c = 2 * atan2(sqrt($a),sqrt(1-$a)); $d = $R * $c; return $d; //$distance=acos(sin($lat1)*sin($lat2)+cos($lat1)*cos($lat2).cos($lng2-$lng1))*$R; //return $distance; } /* to calculate the optimal path passing all cities once time for each city */ function findpath($start) { for($i=0;$i<count($this->allCities);$i++) { if($this->k>count($this->allCities)) break; if($this->allCities[$i]->getName()==$start &&!$this->allCities[$i]->getVisited()) { $this->allCities[$i]->setVisited(true); $this->allCities[$i]->setorder($this->k); $lower_index=0; $lower_dis=1000000; for($j=0;$j<count($this->allCities);$j++) { if(!$this->allCities[$j]->getVisited()) { $dis=$this->calculatedistance($this->allCities[$j],$this->allCities[$i]); if($dis<$lower_dis) { $lower_index=$j; $lower_dis=$dis; } } } $this->k++; $this->findpath($this->allCities[$lower_index]->getName()); }// enf if }// end for }// end function /* method to display the total distance of the route passign all cities */ function getTotaldistance() { return $this->totaldistance; } }// end class //$test=new City("Gaza",1.2,1.50); $m=new Main(); $m->getCitiesFromTextFile(); //$m->displayAllCities(); $m->findpath("Beijing"); $m->sortArray(); $m->displayAllCities(); $m->getCitiesFromTextFile(); ?>
如何将ISO8859-15转换为UTF8?
错误:在程序中丢失' 302'
是否有可能在“RightToLeft”属性设置为“是”的comboBox中有左alignment的文本?
用Perl / AWK将两个连续的行合并成一行
就像是:
<?PHP $file = file_get_contents("file.PHP"); $file = str_replace("r","",$file); file_put_contents("file.PHP",$file);
=)
编辑1
如果你在Linux上 – 有一个很好的编辑器Kate (转换编码和线端)
这是有用的
dos2unix -o $output_file $input_file
检查手册页以获取更多选项
还有其他聪明的sed黑客,但更好地使用一个久经考验的工具,而不是用sed进行黑客攻击,哪一个人可能不知道
如果dos2unix不可用,todos / fromdos可能是:
fromdos <filename>
在* nix上,不需要安装任何东西:
cat yourFile | tr 'rn' 'n' > newFile
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。