Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439

    [php4] riconoscimento siti web

    Forse sarà un problema già trattato ma ho controllato nelle pillole trattate e ho controllato nel forum e non ho trovato niente che facesse al caso mio.
    Avrei bisogno di uno script che riconoscesse ed encodasse automaticamente gli url.
    Ad esempio una variabile che contenga
    "testo vario testo vario testo vario http://www.homepagedaencodare.com?c=x&var2=y"
    la parte che contiene l'url (e tutte le sue variabili concatenate da & o da &amp dovrebbero essere convertite nel codice html "a href".
    Qualcuno a qualcosa del genere?
    わさび

  2. #2
    Prova a cercare su phpclasses.org. Magari ti cerchi qualcosa che abbia a che fare con il bb code. Ciao!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  3. #3
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Grazie per il link. Ma occorre registrarsi per vedere le classi?

    Comunque quello che cerco non c'entra col bbcode... a me serve trovare qualcosa che rilevi in una stringa un url e converta automaticamente questo url nel codice html a href. un po' come succede su questo forum se scrivo www.miosito.it <- questo viene automaticamente encodato
    わさび

  4. #4
    Si ma di solito le classi che convertono il bbcode hanno una funzione che fa questo lavoro. vedendo altri come hanno fatto puoi prendere ispirazione e farla adatta alle tue esigenze. Cmq dovresti usare le funzioni per le reg ex tipo ereg_replace eregi_replace. Funziona così: trovi tutte le corrispondenze della regex (regex che trova gli url) e le sostituisci con <risultato regex>. Vedi le funzioni che ti ho indicato per maggiori info. Ciao!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  5. #5
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    si infatti un ereg_replace era proprio quello che stavo cercando, ma essendo piuttosto complesso scriverlo da me su due piedi, ed essendo un problema molto comune ho pensato ce ne fossero di già fatti. Cercando nel forum ho trovato questo:
    http://forum.html.it/forum/showthrea...f&pagenumber=2

    però funziona solo in parte:
    codice:
    $stringa = " testo uihiuh uoih oih  o ih www.ezio.it oij oijejej ej http://www.tiziocaio.it?x=varx&amp ;y=vary jrhjehr http://www.tiziocaio.it?x=varx&y=vary";
    
    echo eregi_replace("([www]+)(\.[a-z0-9\._-]+)(\.[a-z]{2,6})","<a href=\"http://\\1\\2\\3\">\\1\\2\\3</a>", "$stringa");
    In pratica quello che viene convertito della mia $stringa è solo tutto ciò che è compreso tra www. e l'estensione.
    A me servirebbe anche un rilevamento del http (opzionale) e tutte le variabili concatenate da & o da &amp ;
    (ho usato &amp[spazio]; perchè altrimenti il forum lo converte in &)
    わさび

  6. #6
    Ho fatto questa funzione. L'url che sta nella frase viene riconosciuto ma devi fare cmq delle prove per vedere se ci sono bug nella regex.

    Codice PHP:
    function urlToHref $string ) {
        return 
    ereg_replace("([url]http://?[/url]|[url]www.[/url]|[url]http://www.?[/url])[a-zA-Z0-9\-\_]+.[a-z]{2,3}(\/[a-zA-Z0-9]*)*(.[a-zA-Z0-9]{3,4}){1}\?{1}([a-zA-Z0-9]+\={1}[a-zA-Z0-9]+\&?)*",'[url="\\0"]\\0[/url]'$string );
    }
    $str 'Vediamo se riconosce questo url [url]http://www.mircov.org/String/To/page.htm?var1=val1&var2=var2[/url]' ;
    echo 
    urlToHref$str ) ; 
    Provala e fammi sapere se funziona. Ciao!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  7. #7
    Aspetta! Ti riscrivo la funzione con degli spazi per evitare che la reg ex e la stringa vengano cnvertite in url dalla funzione del forum.
    Codice PHP:
    function urlToHref $string ) {
        return 
    ereg_replace("(ht tp://?|w ww.|h ttp://w ww.?)[a-zA-Z0-9\-\_]+.[a-z]{2,3}(\/[a-zA-Z0-9]*)*(.[a-zA-Z0-9]{3,4}){1}\?{1}([a-zA-Z0-9]+\={1}[a-zA-Z0-9]+\&?)*",'[url="\\0"]\\0[/url]'$string );
    }
    $str 'Vediamo se riconosce questo url ht tp://ww w.mircov.org/String/To/page.htm?var1=val1&var2=var2' ;
    echo 
    urlToHref$str ) ; 
    Elimina gli spazi in "h ttp://" e in "w ww."
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  8. #8
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    mille grazie mircov
    わさび

  9. #9
    Di niente! Solo ripeto, se trovi qualche buco nella regex dimmelo che lo correggo! Ciao!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  10. #10
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Originariamente inviato da mircov
    Di niente! Solo ripeto, se trovi qualche buco nella regex dimmelo che lo correggo! Ciao!
    Non ti preoccupare al limite un'aggiustatina glie la do io per adattarla al 100% allo script che mi serve.
    Grazie ancora
    わさび

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.