Zeichen am anfang einer Zeile einfügen
Eydamos
- php
0 Cheatah0 Eydamos
0 rob0 Mathias Brodala
Also ich habe einen mehrzeiligen Text, den ich von einem Formular übergeben bekomme, und den ich als String in der Variable $inhalt speichere.
Der Text sieht so aus:
Spionageangriff auf Planet 1 von Planet2 (2:224:29 SpielerA)
21.05.2007 um 10:26:22
Der Spionageangriff wurde zu spät entdeckt. Der Angreifer erhielt Informationen über unsere Flotten, Verteidigungsanlagen, Bodentruppen, Rohstofflager und Gebäude!
Der Angreifer erhielt ebenfalls Informationen über stationierte Raumschiffe fremder Völker!
Spionageangriff auf (2:74:11 )
21.05.2007 um 00:01:46
Folgende Daten hat uns unsere Spionagesonde übermittelt:
Flotte:
Verteidigungsanlagen:
Bodentruppen:
Gebäude:
Rohstofflager:
Erz: 0
Aluminium: 0
Legierungen: 0
Kristalle: 0
Energie: 0
Spionage- und Forschungssonden verglühen im Orbit und kommen nicht mehr zurück!
Spionageangriff auf Basis2 (2:74:11 Spieler B)
20.05.2007 um 14:37:31
Folgende Daten hat uns unsere Spionagesonde übermittelt:
Flotte:
Verteidigungsanlagen:
Bodentruppen:
Gebäude:
Rohstofflager:
Erz: 0
Aluminium: 0
Legierungen: 0
Kristalle: 0
Energie: 4317
Spionage- und Forschungssonden verglühen im Orbit und kommen nicht mehr zurück!
Ich will nun überall, wo Spionageangriff am Anfang der Zeile steht ein # davor machen. Hab das schon probiert mit
$inhalt = preg_replace("/^Spionageangriff/", "#Spionageangriff", $inhalt);
Aber natürlich macht der dann nur ganz am anfang beim ersten Spionageangriff die Raute davor. Ich hab mal hier oder in nem anderen Forum ne möglichkeit gesehen, wie man den String zeilenmäßig durchgehen und dann mit ^ arbeiten konnte. Hab jetzt bestimmt ne Stunde gesucht, aber nichts gefunden, was nur annährend in der Richtung gewesen wäre. Hoffe ihr könnt mir helfen.
Hi,
Ich hab mal hier oder in nem anderen Forum ne möglichkeit gesehen, wie man den String zeilenmäßig durchgehen und dann mit ^ arbeiten konnte. Hab jetzt bestimmt ne Stunde gesucht, aber nichts gefunden, was nur annährend in der Richtung gewesen wäre. Hoffe ihr könnt mir helfen.
ja.
Cheatah
ja.
Prima genau danach hab ich gesucht.
@rob Im Handbuch habe ich auch nachgesehen, nur da steht von Modifiern leider nix drin
Für alle die nicht selber nachlesen wollen hier der richtige code:
$inhalt = preg_replace("/^Spionageangriff/m", "#Spionageangriff", $inhalt);
Hi!
Hab jetzt bestimmt ne Stunde gesucht, aber nichts gefunden, was nur annährend in der Richtung gewesen wäre.
Im PHP-Handbuch hast du aber nicht nachgeschaut?
http://de.php.net/manual/de/function.preg-match-all.php
Schöner Gruß,
rob
Hallo Eydamos.
Ich will nun überall, wo Spionageangriff am Anfang der Zeile steht ein # davor machen.
Also in etwa so?
$inhalt = 'Spionageangriff … [weiterer Text]';
$zeilen = explode("\n", $inhalt);
for ($i = 0; $i < count($zeilen); ++$i) {
if (strpos($zeilen[$i], 'Spionageangriff') !== false) {
$zeilen[$i] = '#' . $zeilen[$i];
}
}
$inhalt = implode("\n", $zeilen);
Einen schönen Montag noch.
Gruß, Mathias