6

trim()使用此代码的功能时遇到问题

$handle = @fopen("55.txt", "r");
if ($handle) {
    while (($buffer = fgets($handle, 4096)) !== false) {      
        $d = explode(" ", $buffer);
        foreach($d as $val) { 
            echo '<br>'.trim($val,'.');  //why not work 
        }   
    }
    if (!feof($handle)) {
        echo "Error: unexpected fgets() fail\n";
    }   
    fclose($handle);
}

trim()'.'修剪。

4

2 回答 2

5

除了行本身之外,该fgets()函数还返回文件中的换行符,这些换行符位于字符串中的点之后,从而防止点被修剪,因为它们实际上不是最后一个字符。

尝试同时修剪点和可能的换行符:

echo '<br>'.trim($val, ".\r\n");
于 2012-11-24T22:46:09.660 回答
0

substr(trim($val),1,stlen(trim($val)));

代替

trim($val,'.');

如果要删除前导和尾随'.'

于 2012-11-24T22:26:20.157 回答