Visualizzazione dei risultati da 1 a 8 su 8

Discussione: funzione preg_replace

  1. #1

    funzione preg_replace

    Salve ho trovato questa funzione per il web...

    Codice PHP:
        function urlreplace($str){     $str preg_replace ('(([:/~a-zA-Z0-9_\-\.]+)\.([:/~a-zA-Z0-9]+))''<a target=\'_blank\' href=\'http://$1.$2\'>$1.$2</a>'$str);     return str_replace("http://http://","http://",$str); } 
    problema numero 1:
    tutti i link composti così la funzione dopo il punto interrogativo non va....
    www.nomesito.it/index.php?module=1

    problema numero 2:
    vorrei che mi facesse il cotrollo solo se trova il www. prima del dominio e non

    nomesito.it perchè inserendo così funziona....

  2. #2
    Se vuoi una funzione affidabile e stra-testata, scaricati Wordpress e guarda nel file formatting.php la funzione make_clickable().

  3. #3
    Originariamente inviato da filippo.toso
    Se vuoi una funzione affidabile e stra-testata, scaricati Wordpress e guarda nel file formatting.php la funzione make_clickable().
    scusa la mia ignoranza

    Codice PHP:
    function urlreplace($ret) {
        
    $ret ' ' $ret;
        
    // in testing, using arrays here was found to be faster
        
    $ret preg_replace_callback('#([\s>])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is''_make_url_clickable_cb'$ret);
        
    $ret preg_replace_callback('#([\s>])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is''_make_web_ftp_clickable_cb'$ret);
        
    $ret preg_replace_callback('#([\s>])([.0-9a-z_+-]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,})#i''_make_email_clickable_cb'$ret);
        
    // this one is not in an array because we need it to run last, for cleanup of accidental links within links
        
    $ret preg_replace("#(<a( [^>]+?>|>))<a [^>]+?>([^>]+?)</a></a>#i""$1$3</a>"$ret);
        
    $ret trim($ret);
        return 
    $ret;

    se lancio la funzione e mettendo del testo con interno tipo www.sito.it

    non va proprio...

  4. #4
    Cosa intendi per "non va proprio"?

    Abilitando la visualizzazione degli errori, che cosa ottieni?

    Hai incluso anche le funzioni richiamate come callback ed eventuali altri codici necessari all'esecuzione della funzione?

  5. #5
    chiamo la funzione e non mi stampa proprio i link senza collegamento però si vede tutta la stringa
    no nn tengo abilitati gli errori... cm si fa?

  6. #6
    Originariamente inviato da serdominik
    chiamo la funzione e non mi stampa proprio i link senza collegamento però si vede tutta la stringa
    no nn tengo abilitati gli errori... cm si fa?
    Codice PHP:
    <?php

    ini_set
    ("error_display"1);
    error_reporting(E_ALL E_STRICT);

    ?>
    Perchè essere stupidi non è una menomazione ma un diritto di tutti!!!

  7. #7
    Originariamente inviato da sonounostrinato
    Codice PHP:
    <?php

    ini_set
    ("error_display"1);
    error_reporting(E_ALL E_STRICT);

    ?>
    non mi da nessun errore...

    Allora ripeto io passo la stringa alla funzione che mi dovrebbe ritornare l'intera stringa e se trova una parola iniziante con www. allora trasformala in link io la prima funzione che ho dato funziona solo in parte perchè se metto .www.sito.it me lo da lostesso anche se metto http://sito.it

    io voglio solo esclusivamente che faccia la trasformazione iniziante per www.

  8. #8
    non esiste una funzione per trovare un url nel testo vero?

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.