Может ли PHP исключать символ новой строки при чтении строки за строкой?

Я хочу читать строки за строкой, но я не хочу иметь дело с новой строкой, я хочу, чтобы она была удалена, поэтому я получаю только содержимое строки.

Поэтому сейчас моя функция:

function getProductCount($path) { $count = 0; foreach (file($path) as $name) { if($name == "<product>\n") { $count = $count + 1; } } return $count; } 

Но в идеале я бы хотел:

 function getProductCount($path) { $count = 0; foreach (file($path) as $name) { if($name == "<product>") { $count = $count + 1; } } return $count; } 

Есть ли способ также удалить возврат каретки?

благодаря

Related of "Может ли PHP исключать символ новой строки при чтении строки за строкой?"

http://www.php.net/manual/en/function.file.php

Посмотрите на дополнительные флаги, которые вы можете добавить к вызову функции. Вы должны использовать "FILE_IGNORE_NEW_LINES"

Вы можете выполнить rtrim() в строке в начале каждой итерации цикла.

 function getProductCount($path) { $count = 0; foreach (file($path) as $raw_name) { $name = rtrim($raw_name); if($name == "<product>") { $count = $count + 1; } } return $count; } 

Используйте trim() или rtrim() (если вы хотите сохранить пробелы в начале строки), чтобы удалить пробелы.

вы можете посмотреть: http://php.net/trim и http://php.net/str_replace (чтобы вы могли заменить eol пустым символом)

Либо регулярное выражение (получение последнего появления \ n в строке и удаление его), либо просто $name = substr($name, 0, -2) сделало бы трюк