PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ReqEx und Div's / TD's


isoldier
29.07.2011, 20:58:36
Guten Abend,

bräuchte einmal eine Hilfestellung zu folgendem PHP-Code und HTML-Code:


<td class="inhalt-v" align="left" valign="top">Something</td>


Möchte gerne das Something extrahiert haben. Leider komme ich mit meinem RegEx nicht vorran bzw weiß nicht wo der Fehler steckt.


preg_match('/<td class="inhalt-v" align="left" valign="top">(.*?)<\/td>/i', $content, $k);

print_r($k);


Ausgabe:

Array()


Ich kriege folglich nicht mein Ergebnis ;) Hoffe jemand kann mir helfen, finde den Fehler leider nicht.


Liebe Grüße

vt1816
29.07.2011, 22:34:40
Bei:
<?php

$content ='<td class="inhalt-v" align="left" valign="top">Something</td> ';

preg_match('/<td class="inhalt-v" align="left" valign="top">(.*?)<\/td>/i', $content, $k);

print_r($k);
?>

erhalte ich:

Array ( [0] => Something [1] => Something )

bzw. bei
<?php
...
var_dump($k);
?>
erhalte ich:
array(2) { [0]=> string(61) "Something" [1]=> string(9) "Something" }

isoldier
29.07.2011, 22:43:44
Bei:
<?php

$content ='<td class="inhalt-v" align="left" valign="top">Something</td> ';

preg_match('/<td class="inhalt-v" align="left" valign="top">(.*?)<\/td>/i', $content, $k);

print_r($k);
?>

erhalte ich:

Array ( [0] => Something [1] => Something )

bzw. bei
<?php
...
var_dump($k);
?>
erhalte ich:
array(2) { [0]=> string(61) "Something" [1]=> string(9) "Something" }

Sorry, das "v" sollte eigentlich eine 1 sein, also "inhalt-1" ...

vt1816
29.07.2011, 22:49:34
Sorry, das "v" sollte eigentlich eine 1 sein, also "inhalt-1" ...

... macht keinen Unterschied im Ergebnis.

isoldier
29.07.2011, 22:51:02
... macht keinen Unterschied im Ergebnis.

Bei mir findet er die Zeichenkette einfach nicht komischerweise.

Danke schon mal für die Hilfe.

Ich prüfe mal weiter.


*EDIT*: Es funktioniert, wenn ich den string so wie oben beschrieben in der Variable habe, jedoch nicht mit dem 56kb-Dokument wo dieser auch so drin steht, ich verstehe das einfach nicht. Wenn ich das Dokument 1:1 ausgebe ist die <td> auch drin, wie in dem Plain string. Ich hoffe du verstehst was ich meine. Irgendeine Idee, woran das liegen könnte bzw ein Lösungsvorschlag? Das Dokument wird standardmäßig als String eingelesen, ist also genauso wie oben der String auch ein String :D

vt1816
29.07.2011, 23:06:20
Arbeitest Du mit preg_match wie oben oder zusätzlich noch mit den weiteren Parametern [, int $flags = 0 [, int $offset = 0 ]]] ?

isoldier
29.07.2011, 23:08:09
Arbeitest Du mit preg_match wie oben oder zusätzlich noch mit den weiteren Parametern [, int $flags = 0 [, int $offset = 0 ]]] ?

Genauso wie es da steht ;) Keine Offsets und keine Flags gesetzt.

isoldier
29.07.2011, 23:47:55
Dankeschön für die Hilfe...
Shice Firebugs hat valign und align vertauscht.
Sprich im Original heißt es: align ; valign
Firebug machte daraus: valign ; align

Deswegen kam der Match auch nicht zustande..
Wieder 2 Stunden verschwendet. Aber beim nächsten Mal ist man schlauer.

Gute Nacht :D


PS: Sorry für Doppelpost, vergessen zu editieren.

ERLEDIGT