Buon giorno, chi mi spiega questa funzione?
grazie a tuttiCodice PHP:
function trova_tag( $t, $codice ) {
$t = preg_quote($t);
preg_match_all('{<'.$t.'[^>]*>(.*?)</'.$t.'>.'}', $codice,$trova, PREG_PATTERN_ORDER);
return $trova[1];
}
![]()
Buon giorno, chi mi spiega questa funzione?
grazie a tuttiCodice PHP:
function trova_tag( $t, $codice ) {
$t = preg_quote($t);
preg_match_all('{<'.$t.'[^>]*>(.*?)</'.$t.'>.'}', $codice,$trova, PREG_PATTERN_ORDER);
return $trova[1];
}
![]()
cerca un tag $t in un codice $codice.
In pratica passi alla funzione il tag $t che vuoi che venga trovato nel codice $codice.
Hai capito cosa intendo?
quello del tag $t si, praticamente è il tag "<a>".
Ma $codice non dovrebbe essere il testo, esempio: "guarda qui" nel quale cercare quel tag?
allora perchè quando vado a fare una stampa:
mi restituisce un Array?Codice PHP:
echo trova_tag("<a>","clicca [url='']qui[/url]");
e anche facendo un
mi restituisce Array();Codice PHP:
print_r(trova_tag("<a>","clicca [url='']qui[/url]"));
sapresti dirmi come mai?
Grazie mille...
perchè preg_match_all() restituisce un array multidimensionale.
Se non vado errato, dovresti fare return $trova[1][0] nella funzione.
Non sono sicurissimo perchè non ho mai usato preg_match_all().
Ciao, certo perchè infatti il match_all restituisce tutte le occorrenze di quella stringa che hai passato da cercare...dovresti farti quindi un foreach per leggerti $trova[1].Originariamente inviato da sir daniel
perchè preg_match_all() restituisce un array multidimensionale.
Se non vado errato, dovresti fare return $trova[1][0] nella funzione.
Non sono sicurissimo perchè non ho mai usato preg_match_all().
ah e comunque, come primo parametro non passare <a> ma solo a