Visualizzazione dei risultati da 1 a 4 su 4

Discussione: ciclo FOR & each Array

  1. #1

    ciclo FOR & each Array

    Ciao,
    mi aiutate a sistemare questo script:

    in pratica dovrei eliminare da una stringa e, precisamente partendo da DX verso SX, le occorrenze contenute in un Array.
    Si tratta di ripulire un link contenente eventuali caratteri non validi per la sua esecuzione.

    codice:
    <?
     $term = array('.',chr(44),';',':',chr(34),'!','?');
    
     $link="http://www.miosito.net...........,?";
     $lun=strlen($link);
    
     while ($link[$lun-1] != each($term )){
          $lun=strlen($link);
          $link = substr_replace($link, '', $lun-1);
     }
    
     echo $link;
    
    
    
    ?>
    I caratteri non validi in questo caso sono tutti quei punti o eventualmente i caratteri dichiarati nell'array.

    A me lo script non mi funziona bene, a volte me li cancella altre no.
    IMPOSSIBLE IS NOTHING - LOOK BEFORE YOU LEAP !!!

  2. #2
    fastner
    Guest
    <?

    $term = array('.',chr(44),';',':',chr(34),'!','?');
    $link="http://www.miosito.net,?";

    for($x=0;$x<count($term);$x++)
    $link = str_replace($term[$x],"", $link);

    echo $link;

    ?>

  3. #3
    ciao,
    ti ringrazio, ma il tuo script funziona soltanto dal punto di vista "eliminazione delle occorrenze contenute in tutta la stringa"; il mio problema conssite nell'eliminare partendo da destra verso sinistra le occorrenze dell'array, quindi un indirizzo del genere:

    http://www.mydomain.com;.....?\

    dovrebbe essere ripulito e diventare

    http://www.mydomain.com


    col tuo script ottengo questo:

    http//mydomaincom


    il mio script funziona soltanto se eseguito una sola volta, ma se lo inserisco in un ciclo, la stringa dovrà essere rcalcolata nuovamente nella sua lunghezza e continuare fin tanto che non esistono occorrenza presenti nell'ultimo carattere e non nella stringa intera.

    Percio' mi riferivo a $link[ultimocarattere]


    Grazie della tua collaborazione, se hai ancora qualche idea mi farebbe piacere riceverla.
    IMPOSSIBLE IS NOTHING - LOOK BEFORE YOU LEAP !!!

  4. #4
    fastner
    Guest
    si può fare con le espressioni regolari.. sapessi usarle bene


    <?

    $term = array('.',chr(44),';',':',chr(34),'!','?');
    $link=":;http://www.miosito.net,?";


    echo eregi_replace("^([\:\;\.])*http\:\/\/([a-z0-9\._-])+\/([a-z0-9\._-])*([\:\;\.])*$", " prova \\2 \\3 \\4", $link);

    ?>
    vai a capire perchè non funziona questo adesso

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.