- Home
- Categorie
- Coding e Sistemistica
- PHP
- Estrazione URL da variabile
-
Estrazione URL da variabile
ciao a tutti, io ho una variabile di tipo stringa che contiene il testo di una pagina html, e vorrei estrarre tutti gli url validi presenti in quella pagina utilizzando uno script in php, magari mettendoli in un array...mi sembra di aver capito che si potrebbe usare la funzione preg_match_all ma non ho una grande dimestichezza con le espressioni regolari. Anche se si tratta di una pagina html vorrei estrarre gli url indipendentemente dal tag href, semplicemente estrapolando tutte le stringhe che iniziano per "http://" e che terminano con ".html" o ".htm" o altre estensioni. qualcuno mi sa aiutare? grazie!
-
Ciao
^(http://)([a-zA-Z0-9_.-])(.html|.htm)$dovrebbe fare ciò che ti serve.
-
uhm ho provato ad inserire l'espressione regolare ma mi da questo errore:
Warning: preg_match_all(): No ending delimiter '^' found on line 17
questo è il mio script, la linea 17 è quella della preg_match_all, lo script termina ma non trova nessun url e l'array è vuoto
$mystring="esempio di stringa con url http://www.miosito.it/a.html http://tuosito.com/index.php";
$rex = '^(http://)([a-zA-Z0-9_.-])(.html|.htm)$';
preg_match_all($rex,$mystring,$mth); //inserisco tutte le occorrenze nell'array $mth
echo '<pre>';
print_r($mth[0]); //stampo l'arrayforse il forum ha storpiato l'espressione non visualizzando qualche carattere?
qualcuno mi saprebbe dare una mano? grazie!
-
Non è il forum... colpa mia
prova a mettere $rex = "/(http://[a-zA-Z0-9-_./]*[.html|.htm|.php])/";
sperando sia cià che ti serva