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

    [freephp] Link Creator: mi aiutate a personalizzare l'output?

    Buondì a tutti,

    premetto che so pochissimo di PHP ed è per questo che son venuto ad elemosinare aiuto da queste parti.

    In sostanza, ho trovato uno script free in rete per la generazione di link da determinate parole chiave, e stavo cercando di adattarlo alle mie esigenze.

    Eccolo di seguito:
    Codice PHP:

    <html>
    <head>
    <title>link creator | powered by [url="http://www.GoWWWGo.com"][url]www.GoWWWGo.com[/url][/url]</title>
    </head>
    <body>
    <center>
    <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <center>


    <font face="Verdana" size="1">[b][url="http://[/b] [i][url]http://www.example.com"][/b] [i][url]http://www.example.com[/url][/i]</font>
    <input type="text" name="url" size="20" value="<?php echo $url?>" ></p>


    <font face="Verdana" size="1">[b][extension][/b] [i]html htm php asp etc.[/i]</font>
    <input type="text" name="extension" size="20" value="<?php echo $extension?>" ></p>


    <font face="Verdana" size="1">[b][separator][/b] [i]- _ (none) etc.[/i]</font>
    <input type="text" name="separator" size="20" value="<?php echo $separator?>" ></p>
    <?php
    error_reporting
    (E_ALL E_NOTICE);
    if (
    $_SERVER['PHP_SELF'] && $_POST[data] && $_POST[url]) {
    $url rtrim($_POST['url'], "/")."/?s=";
    $extension "";
    if (isset(
    $_POST['extension']) && $_POST['extension'] != ""$extension trim($_POST['extension']);
    $separator "";
    if (isset(
    $_POST['separator']) && $_POST['separator'] != ""$separator trim($_POST['separator']);
    $res explode("\n"$_POST[data]);
    $res array_unique($res);
    sort($res);
    reset($res);
    $tmp_count count($res);
    for(
    $n 0$n $tmp_count$n++) {
      
    $res[$n] = preg_replace("/s+/"$separatorstrtolower(trim($res[$n])));
      if (
    $res[$n] != ""$output .= $url.$res[$n].$extension.">".$res[$n]."</a> | "."\n";
    }
    }
    if (
    $number 0) {
    $number $n -1;
    } else {
    $number $n;
    }

    if (
    $HTTP_POST_VARS['action']) {
    $tmp_name $_FILES['myfile']['tmp_name'];
    $name $_FILES['myfile']['name'];
    $type $_FILES['myfile']['type'];
    $size $_FILES['myfile']['size'];
    $error $_FILES['myfile']['error'];
    $handle = @fopen($tmp_name"r");
    $output "";
    do {
        
    $data fread($handle8192);
        if (
    strlen($data) == 0) {
            break;
        }
        
    $output .= $data;
    } while (
    true);
    fclose($handle);
    }
    // BEGIN print-to-screen
    print "

    <font face=\"Verdana\" size=\"1\">[b][keyword(s)][/b] one per line</font>
    <textarea name=\"data\" rows=\"15\" cols=\"60\">"
    ;
    print 
    stripslashes($output);
    print 
    "</textarea></p></center>";
    print 
    "<font face=\"Verdana\" size=\"1\">count</font><input type=\"text\" name=\"count\" value=\""$number ."\" size=\"5\">";
    print 
    "</text>";
    $output "";
    // END print-to-screen
    ?>
    <input type="submit" name="creator" value="Creator">
    </form>


    <form method="post" enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>"><font face="Verdana" size="1">upload keyword list (optional)</font>
    <input type="hidden" name="max_file_size" value="800000">
    <input type="hidden" name="action" value="1">
    <input type="file" name="myfile" size="30">
    <input type="submit" value="upload">
    </form></p>


    <font face="Verdana" size="1">Powered by [url="http://www.gowwwgo.com/"]GoWWWGo[/url]</font></p>
    </center>
    </body>
    </html>

    Ho "sistemato" il codice in maniera tale che, date le keyword1 e la keyword2, l'output sia il seguente:

    keyword1+keyword2

    Ora, il mio problema è che vorrei levare dai link che vengono creati il separator "+" evidenziato in rosso. Suppongo il bandolo della matassa stia qui:

    if ($res[$n] != "") $output .= $url.$res[$n] .$extension.">".$res[$n]."</a> | "."\n"

    Dovrei riuscire a sostituire quel $res[$n] con qualcosa di più appropriato, o cmq esentarlo dalla condizione di infilarci il separator.
    Ho provato ad esempio a sostituirci un $_POST[data], ma va a finire che così ad ogni link creato in quella posizione infila tutte le keyword elencate nel campo apposito e non solo quelle relative al singolo link!

    Son sicuro che per chi se ne intende di PHP sia una sciocchezza, ma io oramai ci sto impazzendo da diverse ore...please help!

    Grazie mille in anticipo.

  2. #2
    Non vorrei sparare una boiata ma se $separator lo setti a " ", visto che dopo va a fare il preg replace, sostituendo tutti i + con $separator?

  3. #3
    Originariamente inviato da KaNnA
    Non vorrei sparare una boiata ma se $separator lo setti a " ", visto che dopo va a fare il preg replace, sostituendo tutti i + con $separator?
    Uhm, se mi dici dove devo metter mano esattamente al codice provo...perdona ma sono una ceppa col PHP

  4. #4
    Cmq col tentativo che ho fatto di sostituire con

    $_POST[data]

    il secondo

    $res[$n]

    nel codice di output credo di essere andato vicino alla soluzione...basterebbe "far capire" allo script di inserire unicamente le keyword della stessa riga e non tutto l'elenco...non c'è un attributo da affiancare al codice $_POST[data] per ottenere questo risultato?

  5. #5
    Codice PHP:
    $separator "";
     if (isset(
    $_POST['separator']) && $_POST['separator'] != ""$separator trim($_POST['separator']); 
    Il problema sarebbe che vuoi sostituire la + con qualcos'altro giusto?
    Quindi nel campo del form 'separator' ci metti quello che t'interessa, oppure lo forzi con
    $_POST['separator'] = " ";

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.