PHP Probleme mit preg_match

Kinemore

Cadet 3rd Year
Registriert
Feb. 2009
Beiträge
56
Hallo,


leider habe ich ein großes Problem. Ich soll mittels php einen Bereich aus einem String herauslesen. Der Bereich ändert sich immer in Abhängigkeit von der eingelesenen Datei.

Der String sieht wie folgt aus:
class="firstColumn">User Name:</td><td class="secondColumn">ABCDEF</td>

Den rot markierten Bereich möchte ich auslesen.

diesen Bereich möchte ich mittel preg_match wie folgt ermitteln:
preg_match("class=\"firstColumn\">User Name:</td><td class=\"secondColumn\">.+</td>",$quelltext,$usern);

Leider erhalte ich folgende Fehlermeldung:
WARNING(2): "preg_match(): Delimiter must not be alphanumeric or backslash" in ...

Was mache ich falsch, bzw. wie müßte es richtig "aussehen" ?


Vielen Dank für Eure Hilfe im Voraus !
 
Code:
preg_match("<[\s\S]+>(.*)<[\s\S]+>",$quelltext,$usern);


Code:
preg_match("class=\"firstColumn\">User Name:<\/td><td class=\"secondColumn\">(.+)<\/td>",$quelltext,$usern);

regex101.com/r/pQ3vU7/1
regex101.com/r/aI0mE5/1

Ein Link zu regex101.com ist nicht erlaubt, daher nur als Text.
 
Zuletzt bearbeitet von einem Moderator:
Vielen Dank für die schnelle Antwort.
Ergänzung ()

Guten Abend,


ich habe die Änderung gerade probiert und erhalte dennoch folgende Fehlermeldung:

WARNING(2): "preg_match(): Delimiter must not be alphanumeric or backslash" in ...
 
So dürfte es gehen:
Code:
<?php
$src = 'class="firstColumn">User Name:</td><td class="secondColumn">ABCDEF</td>';
preg_match('/class=\"firstColumn\">User Name:<\/td><td class=\"secondColumn\">(.+)<\/td>/', $src, $result);
var_dump($result);

Man beachte die zwei Slashes um das RegEx-Muster einzugrenzen.
 
Zuletzt bearbeitet:
Vielen Dank für Eure Hilfe ! Es funktioniert "fast" perfekt ... ;-)

als Ausgabe erhalte ich mittels $erg = $result[1]; :
ABCDEF<br>

Wo kommt das <br> her bzw. wie bekomme ich es weg ?

PS: bei var_dump erhalte ich im Browser:
array(2) { [0]=> string(58) "User Name:ABCDEF
" [1]=> string(13) "ABCDEF
" }

lasse ich mir $result[0] in einer Variable ausgeben sieht es so aus:
class="firstColumn">User Name:</td><td class="secondColumn">ABCDEF<br></td>
Ergänzung ()

Hallo, das letzte Problem konnte ich selbst lösen ...

mittels strip_tags($text) habe ich den "Rest" entfernt.
 
Zuletzt bearbeitet:
Zurück
Oben