Originariamente inviato da spoon25
effettivamente devi mettere il \ davanti a / perché è il delimitatore dell'espressione regolare, dunque il problema non è quello.

Però tu fai un echo $b, $b contiene solo true o false, se vuoi vedere i testi riconosciuti puoi fare un print_r($a);

Altrimenti così a prima vista non vedo un errore ma ti posso consigliare di cominciare col farla più semplice e aggiungere i dettagli uno alla volta verificando che funzionano (cominci magari col trovare i [b] e <td> e poi aggiungi il resto).
L'echo $b; mi da il numero di risultati trovati, e mi dà 0, è prorpio questo il problema, ne ho fatta una uguale solo con un'altro testo che peraltro contiene + o - gli stessi tag e quella va, non riesco proprio a capire..
ho provato ad aggiungere pian piano le varie parti, ma mi riconosce al max (mi sembra) questo:
$b = preg_match("/p> )(.*?)(<)/i" , "$testo", $a);
Non riesco propio a capire..