regexp bsp benötigt
yoo
- php
0 Andreas Görtz0 yoo
Hi,
ich habe zb den html code:
<td colspan="2" align="center" class="txt">Du hast heute <b>Geburtstag</b>
und ich möchte genau das auslesen was zwischen ## <td colspan="2" align="center" class="txt">Du hast heute <b>## und ##</b>## steht (also Geburtstag), wobei das "Du hast heute" ignoriert werden kann (an dieser stelle dürfte auch etwas anderes stehen).
Wär jemand so nett und würde mir für dieses bsp eine zeile schreiben?
danke im vorraus,
yoo
Hi,
<td colspan="2" align="center" class="txt">Du hast heute <b>Geburtstag</b>
und ich möchte genau das auslesen was zwischen ## <td colspan="2" align="center" class="txt">Du hast heute <b>## und ##</b>## steht (also Geburtstag), wobei das "Du hast heute" ignoriert werden kann (an dieser stelle dürfte auch etwas anderes stehen).
folgendes ist sicherlich verbesserungswürdig (bin nicht gerade der Profi, was RegExps angeht ;-)), damit hast du aber schonmal einen Anfang:
// 1. '<td irgendwas>'
=> /<td[^>]*>/
// 2. Rest einschließlich <b>
=> /.*<b>/
// 3. das gesuchte Wort bis </b>
=> /(.*)</b>/
zusammen:
/<td[^>]*>.*<b>(.*)</b>/U
(Modifier U, damit die RegExp nicht zu gierig wird - siehe http://www.dclp-faq.de/q/q-regexp-gierig.html)
<?
$str = '<td colspan="2" align="center" class="txt">Du hast heute <b>Geburtstag</b>';
$regExp = '/<td[^>]*>.*<b>(.*)</b>/U';
preg_match($regExp, $str, $_match);
echo $match[1]; // Ausgabe: Geburtstag
?>
Gruß,
Andreas.
danke!
yoo
-> Haben Sie so wenig zu sagen?
ja