2 Stimmen

Kann PHP das Newline-Zeichen beim zeilenweisen Lesen ausschließen?

Ich möchte zeilenweise lesen, aber ich möchte keine Zeilenumbrüche, sondern ich möchte, dass sie entfernt werden, damit ich nur den Inhalt der Zeile erhalte.

Meine Aufgabe ist also im Moment:

function getProductCount($path)
{
   $count = 0;

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

Aber im Idealfall würde ich das tun wollen:

function getProductCount($path)
{
   $count = 0;

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

Gibt es eine Möglichkeit, auch Zeilenumbrüche zu entfernen?

Gracias

11voto

TRD Punkte 1027

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

Schauen Sie sich die zusätzlichen Flags an, die Sie dem Funktionsaufruf hinzufügen können. Sie sollten "FILE_IGNORE_NEW_LINES" verwenden.

4voto

Platinum Azure Punkte 43334

Sie können durchführen rtrim() in der Zeile am Anfang jeder Schleifeniteration.

function getProductCount($path)
{
    $count = 0;

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

0voto

ain Punkte 22039

Utilice trim() o rtrim() (wenn Sie Leerzeichen am Anfang der Zeichenkette beibehalten wollen), um Leerzeichen zu entfernen.

-1voto

marcelog Punkte 6782

Die Sie sich vielleicht ansehen möchten: http://php.net/trim y http://php.net/str_replace (damit Sie das eol durch ein leeres Zeichen ersetzen können)

-2voto

Cystack Punkte 3251

Entweder ein regulärer Ausdruck (der das letzte Vorkommen von \n in einer Zeile und Strippen) oder einfach $name = substr($name, 0, -2) würde den Zweck erfüllen

0 Stimmen

O $name = substr($name, 0, strpos($name, "\n"))

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X