這是獲取文本并在每一行上執(zhí)行處理的代碼:<?php$f = fopen('text.txt' , 'r');$i = 0;while($line = fgets($f)){ if($i == 1){ $first_line = $line; }elseif($i == 2){ $second_line= $line; }elseif($i == 3){ $third_line = $line; } $i++;}?>text.txt包含:3ABCaBD當(dāng)我運(yùn)行下面的代碼時(shí),它給了我一個(gè)奇怪的輸出:echo strlen($second_line);$second_line應(yīng)該是ABC,但返回的輸出是這樣的:5還urlencode($second_line)顯示:ABC%0D%0A這 5 個(gè)字符之一是"\n"轉(zhuǎn)到下一行主要問(wèn)題是,另一個(gè)隱藏的角色是什么?
1 回答

瀟湘沐
TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超6個(gè)贊
由于 Windows\r\n
用作行終止符,這將為每個(gè)字符串添加額外的 2 個(gè)字符。Linux 只使用\r
,所以這只是額外的 1 個(gè)。
要提供通用解決方案,最好使用
$line = trim($line);
這將刪除任何行終止字符。它還將刪除前導(dǎo)和尾隨空格。
- 1 回答
- 0 關(guān)注
- 106 瀏覽
添加回答
舉報(bào)
0/150
提交
取消