Salve a tutti,
tempo fa creai un pezzo di codice come questo:
Codice PHP:
function mettilink($testo) {
return(preg_replace("/(\S*((((ht|f)tp(s?)\:\/\/)(\w{1,64}))(\.\w{1,64})+)(\/)?\S*)/", "<a target='_blank' href='$1'>$1</a>", $testo));
}
e questa funzione inserisce i link html dove li trova nel testo.
Ora voglio fare una distinzione:
- fare un'espressione regolare che riconosca tutti i link che puntino a video su youtube
- fare un'altra espressione che riconosca tutti i link tranne quelli che puntino su youtube
Questo per il semplice fatto che per la prima sarà fatta una sostituzione con <embed> e per la seconda basta un <a>.
Piccola osservazione: con l'espressione che vi ho scritto non permetto di trovare i link che iniziano senza protocollo, perché non posso mettere nel <a href> un link senza protocollo, ecco voglio sapere come posso fare inserire un semplice http:// se magari vede che il testo ha un link che inizia con www ma senza protocollo davanti?
Mi potete dare una mano con le espressioni dato che per fare quella non sapete quanto ho girato prima?
Grazie,
foreach