Come si riconosce e si converte una riga di testo in link?
Grazie
Come si riconosce e si converte una riga di testo in link?
Grazie
puoi usare preg_replace(), nella quale inserisci il formato di stringa da riconoscere e ti butta fuori ad esempio un <a href.....
se mandi la stringa "tipo" posso farti vedere l'esempio di funzione
La stringa inzierà con www. (es. www.htmlit o www.sito.it ecc.).
http://freephp.html.it/articoli/view...sp?id=69&pag=5Originariamente inviato da poeta1978
Come si riconosce e si converte una riga di testo in link?
Grazie
think simple think ringo
per esempio potresti fare così per prendere qualsiasi "www.abc.def.ecc" fino ad un carattere di spazio es:
"wwww.html.it ciao ciao" ti prende "www.html.it" e ti stampa il link
<?php
$stringa = $_POST['prova'];
$pattern = "";
$replacement = "\${1}";
preg_match("/(www)\.([^[:blank:]]+)/i", $stringa, $match);
echo "<a href=\"http://".$match[0]."\">".$match[0]."</a>";
?>
mi sono accorto che nello script di prima ci sono rimaste due stringhe (pattern e replacemet) di un mio vecchio script... ovviamente qui sono inutili![]()
L'ultimo sistema sarebbe il più adatto:
Ma avendo il testo in un record di database devo leggerlo tutto e creare i link, quindi la rigacodice:$testo = $row["Testo"]; preg_match("/(www)\.([^[:blank:]]+)/i", $testo, $match);
dev'essere compresa in $testo. Come fare?codice:echo "<a href=\"http://".$match[0]."\">".$match[0]."</a>";
Ho provato così:
Mi scrive $testo, non da errori, ma non crea i linkcodice:$testo = $row["Testo"]; $testo = str_replace(preg_match("/(www)\.([^[:blank:]]+)/i", $testo, $match),"<a href=\"http://".$match[0]."\">".$match[0]."</a>",$testo); echo $testo;![]()
scusami ma non ho capito: tu il testo del link lo prendi dal database? ovvero avrai una serie di link che verranno estratti dalla query. Fai un array dei risultati, e poi fai un ciclo di while sullo script che ti ho proposto fino alla fine dell'array stesso, ti torna? O forse non ho capito il problema?
scusami, rileggendo ho capito il problema...
il preg_match cerca in una qualsiasi stringa una sottostringa che abbia il formato che gli hai detto di cercare (espressione regolare del primno argomento di preg_match), quindi se hai un testo: "Questo è il sito www.ciao.it , buon divertimento" ti estrae "www.ciao.it", ovviamente dovrai avere un delimitatore alla fine del testo del link (inquesto caso uno spazio). A questo punto è registrato nel match[0] e lo potrai usare come vuoi...
Quindi, dove sta il problema?