Visualizzazione risultati 1 fino 3 di 3

Discussione: Riconoscere con reg exp link di youtube e non

  1. #1
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Predefinito Riconoscere con reg exp link di youtube e non

    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
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Puoi dare un'occhiata al codice che usa WordPress: https://github.com/WordPress/WordPre...edia.php#L1795

  3. #3
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Predefinito

    Ho visto la linea 1795 che mi hai indicato, però vorrei prelevare il codice del video da memorizzare in $1, e poi mi serve anche l'espressione che riconosce tutti gli altri link tranne quelli su youtube.


    Come posso fare?


    Grazie,
    foreach
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •