Visualizzazione dei risultati da 1 a 7 su 7

Discussione: replace particolare

  1. #1
    Utente di HTML.it L'avatar di Gabbro
    Registrato dal
    Nov 2000
    Messaggi
    828

    replace particolare

    Salve,
    io ho un testo tipo:
    "l'autore di questo film è [b]Rossi</a>"

    e vorrei trasformare quel testo in:

    "l'autore di questo filme è <a href=link.php?autore=Rossi>Rossi</a>"



    è possibile una cosa del genere?

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401
    Sì, basta usare una espressione regolare

    codice:
    <?
    $txt = "Autore: Rossi";
    
    $newText = ereg_replace("(.*)", "\\1", $txt);
    
    echo $txt;
    echo $newText;
    ?>
    In pratica ereg_replace prende il terzo parametro ($txt), cerca al suo interno il primo e lo sostituisce con il secondo.
    Se non hai familiarità con le regexp dai un'occhiata a questo sito, molto utile:
    http://www.regular-expressions.info/

  3. #3
    Utente di HTML.it L'avatar di Gabbro
    Registrato dal
    Nov 2000
    Messaggi
    828
    grazie mille funziona

  4. #4
    Utente di HTML.it L'avatar di Gabbro
    Registrato dal
    Nov 2000
    Messaggi
    828
    Salve,
    ho un problema, se nel testo c'è

    "gli autori di questo film sono Rossi Bianchi Verdi" lo script non funziona, ovvero il link che lui trova è errato.

    come posso risolvere il problema?

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401
    Mi ero scordato un ?....

    codice:
    $newText = ereg_replace("/(.*?)/g", "\\1", $txt);

  6. #6
    Utente di HTML.it L'avatar di Gabbro
    Registrato dal
    Nov 2000
    Messaggi
    828
    Originariamente inviato da nICO80
    Mi ero scordato un ?....

    codice:
    $newText = ereg_replace("/(.*?)/g", "\\1", $txt);
    non funziona...
    mi dà
    Warning: eregi_replace() [function.eregi-replace]: REG_BADRPT in /web/htdocs/www.sito.it/home/index.php on line 337

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401
    Devi scusarmi... avevo testato quella cosa con javascript che usa una sintassi lievemente diversa per le regexp

    questa funziona:
    codice:
    echo ereg_replace("([^>]*)", "\\1", $txt);

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.