Toon posts:

[php] regex probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
hoi,
ik heb een regex die een pagina afzoekt naar een $artiest en vervolgens de <tr> die er omheen staat weer geeft nu wil ik het nummer dat voor de artiest staat in een databse krijgen maar het lukt me niet om hem te isoleren
dit is de input:
code:
1
2
3
4
5
6
7
8
<tr>
<td valign=top width=10 height=10 class="nsrscore">
<b>
1.
</b>
</td>
<td valign=top width=100% height=10>hier bevind zich de artiest.</td>
</tr>

dit is de code die ik nu gebruik:
code:
1
2
3
4
$preg = '%<tr>([^<]|<(?!/tr>))*'.preg_quote($artiest,'%').'.*?</tr>%si'; 
if (preg_match($preg, $fd, $match)){ 
echo $match[0]; 
}

ik wil dus de 1. isoleren en nog liever alleen de 1
alvast bedankt

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Wat is de output van print_r($match) ?

Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Array
(
    [0] => <tr>
    <td valign=top width=10 height=10 class="nsrscore">
        <b>
            6.
        </b>
    </td>
    <td valign=top width=100% height=10>
        <b>
            <a class="nsrtitle" href="http://www.rammstein.nl/" target="_blank">
                    Rammstein.NL
                    
                </a>
            
        </b>
    </td>
</tr>
    [1] => .
)

  • tomato
  • Registratie: November 1999
  • Niet online
code:
1
2
3
4
5
6
7
8
9
_
   ([0-9]+)
   \.\s*
   </b>\s*
   </td>\s*
   <td[^>]+>
   \Q$artiest\E
   </td>
_x

Ofzo? Maar dan ga ik er vanuit dat alle entries er precies zo uitzien als je hier laat zien in je voorbeeld. Het kan ook nog op tig andere manieren, maar ik weet niet goed hoe homogeen je data is.

Overigens is die \Q$artiest\E voor jou een preg_quote($artiest).

Verwijderd

Topicstarter
nee dit lukt niet want er kunnen heel wat verschillende variaties zijn misschien kan het wel met <td valign=top width=10 height=10 class="nsrscore"> de class hiervan want deze is uniek van elke <tr> en die punt die haal ik er daarna wel af...