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

    [reg_expression]Qualcuno la sa usare?

    Salve,
    non sono una programmatrice e mi servirebbe qualche buon anima che sapesse usare la reg_expression per modificare gli indirizzi dei siti web contenuti nel mio database mysql

    modificarli da:

    http://pallinarossaenera.splinder.it

    in
    http://pallinarossaenera.splinder.com


    contattatemi vi prego
    :maLOL:

  2. #2
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    ...non servono le espressioni regolari per questo. Basta semplicemente str_replace:
    Codice PHP:
    $url "http://pallinarossaenera.splinder.it";
    $new_url str_replace(".it",".com",$url);
    echo 
    $new_url

  3. #3
    ok grazie,
    ma iodevo sostituire tutti gli indirizzi del database quindi:

    *.splinder.it in *.splinder.com

    come faccio?

  4. #4

  5. #5
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    [supersaibal]Originariamente inviato da ligeiamaster
    ok grazie,
    ma iodevo sostituire tutti gli indirizzi del database quindi:

    *.splinder.it in *.splinder.com

    come faccio? [/supersaibal]
    Credo che le espressioni regolari nel tuo caso siano sprecate...

    se tu conosci esattamente la stringa di partenza e sai come dovrà essere modificata, sai che nel campo della tabella c'è solo l'indirizzo (ovvio che sono solo suppost... ehm, supposizioni), è molto più semplice andare a sostituire le parti che ti interessano con str_replace.

    Ma il problema è un'altro: questi indirizzi in quanti campi del database si trovano? più o meno quanti sono? e, soprattutto, cosa dovrai fare dopo averli modificati? li dovrai riscrivere nel db, come suppongo, o vorrai solo stamparli a video? boh!

    tiro ad indovinare... mettiamo che hai, diciamo, 4 campi nella tua tabella potresti fare così:
    Codice PHP:
    //hai già fatto la connessione al database

    //adesso bisogna estrarre i dati...
    $result mysql_query("SELECT campo1, campo2, campo2 FROM tabella"$db);
    while(
    $record mysql_fetch_array($result)) {

    //in questa variabile verrà memorizzato il valore dei campi (campo1,ecc..)
    $campi_url[] = $record['campo1'] . $record['campo2'] . $record['campo3'];

    //qui invece farai semplicemente la sostituzione da ".it" a ".com"
    $new_url str_replace(".it",".com",$campi_url);
    }

    /*
      prova ad usare:
      echo '<pre>';
      print_r($new_url );
      per vedere realmente se le modifiche sono state apportate...
    */ 
    Oh, fino a qui ci sei? Adesso ti rifaccio di nuovo la domanda di prima: cosa devi fare con questi nuovi indirizzi modificati? se devi semplicemente rimpiazzarli al posto di quelli vecchi, allora, con il codice di sopra, porseguendo, ti crei una semplice query INSERT per rispedire i nuovi valori nel database. Altrimenti, se devi solo visualizzarli, li hai tutti nell'array $campi_url...

    Dovrebbe essere chiaro, no?

    ...mah!?

  6. #6
    io ho un database con uan tabella chiamata "utenti" e dei campi:

    testo
    titolo articolo
    email
    url
    id utente
    id articolo
    ecc...

    nel campo url dovrei cambiare a tutti i blog iscritti (+ di 3000) l'estensione splinder.it in splinder.com

    dovrei interagire sul campo url
    ma dove devo andare su MYSQL e dove c'è scritto :

    Run SQL query/queries on database Sql23912_1Documentation

    nel campo bianco inserire una stringa?

    (in questo campo c'è scritto già SELECT * FROM `utenti` WHERE 1 )


    guarta l'immagine in allegato che rende meglio

    grazie

  7. #7
    Utente di HTML.it L'avatar di M4rko
    Registrato dal
    Dec 2000
    Messaggi
    619
    codice:
    UPDATE utenti
    SET url=REPLACE(url, '.splinder.it', '.splider.com')
    WHERE url LIKE '%.splinder.it';
    l'espressione LIKE ti pesca tutti gli url che terminano in splinder.it (% è il carattere jolly)

    REPLACE() sostituisce le stringhe

    Naturalmente prima di fare disastri, è buona norma fare un backup del database...
    Tutti hanno bisogno di credere in qualcosa.
    Io credo che mi farò un'altra birra.


  8. #8
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Grande M4rko!! ...è semplicemente straordinario

  9. #9
    grazie mille adesso provo e ti faccio sapere
    grazie
    ciao


  10. #10
    yeaaaaaa


    ci sono riuscita!!!

    ho modificato solo la query per adattarla ai campi:


    codice:
    UPDATE utenti
    SET indirizzo_blog=REPLACE(indirizzo_blog, '.splinder.it', '.splider.com')
    WHERE indirizzo_blog LIKE '%.splinder.it';

    ma anche

    codice:
    UPDATE utenti
    SET indirizzo_blog=REPLACE(indirizzo_blog, '.splinder.it/', '.splider.com')
    WHERE indirizzo_blog LIKE '%.splinder.it/';

    Grazieeee :maLOL: :rollo:

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.