Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    link in automatico alle parole del testo

    salve ragazzi, vorrei sapere se c'è un sistema automatico
    per farsì che alcune parole del mio testo siano sostituite in automatico con un link.

    a dire il vero devo farlo per phpbb3 ma già sarebbe una buona cosa riuscirci in php

    sapete aiutarmi per favore?

  2. #2
    Sistema automatico preconfezionato non saprei, ma non è difficile scorrere un testo, individuare delle parole chiave date e concatenarci prima e dopo il tag html parola
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3

    Re: link in automatico alle parole del testo

    Originariamente inviato da dk-wamp
    salve ragazzi, vorrei sapere se c'è un sistema automatico
    per farsì che alcune parole del mio testo siano sostituite in automatico con un link.

    a dire il vero devo farlo per phpbb3 ma già sarebbe una buona cosa riuscirci in php

    sapete aiutarmi per favore?
    phpbb3 è fatta in php...
    Comunque sia...se sai a priori quali siano le parole sì...usando str_replace

  4. #4

    Re: Re: link in automatico alle parole del testo

    Originariamente inviato da Dascos
    usando str_replace
    ... anzitutto se si vuole fare un sistema case insensitive nelle + recenti versioni di php c'è str_ireplace()

    ... poi siccome mettere mano in uno script tanto complesso (soprattutto ai poco avvezzi) potrebbe comportare gravi danni io lo fare in jquery. Faccio il copia e incolla direttamente dalla cartella del mio pc chiamata "jquery/scriptini utili":
    Codice PHP:
    <html>
    <
    head>
    <
    script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> 
    <script type="text/javascript" language="javascript"> 
    $(function () {
        // la lista deve essere generata tramite php
        $("#content").html($("#content").html().replace("parole", "<a href=\"#\">parole</a>"));
        $("#content").html($("#content").html().replace("ciao", "<a href=\"#\">ciao</a>"));
        }); 
    </script> 
    </head>

    <body>
    <div id="content">



    ciao non sò se questo possa fare a caso tuo.
    In pratica tramite jquery si va a sostituire alcune parole indicate nello js e presenti nel div con id "content" con un determinato link.
    Ovviamente il codice js dovrà essere generato dinamicamente esternamente alla pagina da php.
    </p>
    </div>

    <div id="altro">
    ciao parole
    </div>

    </body>
    </html> 

  5. #5
    sì, corretto usare str_ireplace, ma forse è addirittura troppo generico.
    Qualora invece non ci siano parole specifiche ma solo dei pattern, si usa preg_replace o preg_replace_callback
    es
    codice:
    $t = preg_replace( "#(.+?)#", "<div style=\"quote_style\">//1</div>", $t );

  6. #6
    [OFF TOPIC]
    ... dascos... siccome te la cavi con le regex posso contattarti privatamente per una regex che mi serve e che non riesco a fare... maledette regex!!

    PS: moderatori perdonatemi!!!

  7. #7
    grazie oly82 ho provato su una pagina php e funziona perfettamente, e già per questo ti ringrazio, ma dove potrei inserirlo per farsì tutto il forum abbia questa funzione? ho provato a metterlo nel viewtopic ma senza ottenerne niente di buono.

    Dacos grazie anche a te ma non ci ho capito molto nella tua stringa..

  8. #8
    Anzitutto devi individuare l'id o la classe del css a cui applicare la sostituzione.

    Poi per sviluppare il mio sistema devi creare un file php con

    header('Content-type: application/javascript');

    in cui tramite ciclo crei la lista delle parole e il relativo link e verrà una cosa di questo tipo:
    Codice PHP:
    <?php
    header
    ('Content-type: application/javascript');
    ?>
    $(function () {
    <?php 
        
    foreach($array_parole_link as $value)
    {
    $parola htmlentities($value['parola'], ENT_QUOTES);
    $link htmlentities($value['link'], ENT_QUOTES);
    ?>
        $("#content").html($("#content").html().replace("<?php echo $parola?>", "<a href=\"<?php echo $link?>\"><?php echo $parola?></a>")); 
    <?php
    }
    ?>
        });
    poi non ti resta che includere il file nell'head delle pagine
    <script type="text/javascript" src="file_js_generato_con_php.php"></script>

    ... si potrebbe/dovrebbe fare anche un rewrite url per dare al file estensione .js

  9. #9
    ragazzi grazie mille sarà utile quando mi servirà su pagina php.

    per forum phpbb3 ho trovato dopo ore ed ore una mod th23 Autolinks - URLs
    lo scrivo almeno chi dovesse cercare qualcosa di simile potrà sfruttare questo post.

    cmq siete stati genitilissimi grazie idavvero.

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.