-
Problema preg_match()
Salve, dovrei ricavare il contenuto di uno span utilizzando preg_match. Avevo scritto questo ma mi dà errore:
Codice PHP:
<?php
$cont = file_get_contents('http://www.paginadaprelevare.it');
if(preg_match('/<span class="stats-fig">(.+?)</span>/s', $cont, $m)) {
echo $m[1];
}
?>
E l' errore è:
Warning: preg_match() [function.preg-match]: Unknown modifier 'p' in ****.php on line 3
Da cosa è dovuto?
-
Hai dimenticato di inserire un back-slash:
Codice:
/<span class="stats-fig">(.+?)</span>/s
PHP crede che la tua reg-exp si trovi tra le barre segnate in rosso, poi seguono i "modificatori": s è valido, ma p no.
Così dovresti risolvere il problema:
Codice:
/<span class="stats-fig">(.+?)<\/span>/s
Stammi bene...
-
Oppure utilizzare un carattere diverso per delimitare l'espressione regolare, visto che puoi usare quello che preferisci:
Codice PHP:
if(preg_match('#<span class="stats-fig">(.+?)</span>#s', $cont, $m)) {