Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766

    costruire una parola con ereg_replace

    mi sto scervellando da oggi ma non riesco a far entrare nel database la parola come dico io.
    In pratica con questo codice ottengo il nome di un albergo con il trattino tra la parola hotel e il nome

    $hotel_directory = strtolower($_POST['hotel ']);
    $hotel_trattino = ereg_replace(" ", "_", $hotel_directory);

    quindi ottengo qualcosa come

    hotel_pippo

    ora devo fare in modo che nel database entri anche il nome della localita' dove si trova.

    Sto scervellandomi da oggi cercando di mettere qualcosa anche nella query ma niente.

    In pratica deve uscire qualcosa tipo

    hotel_pippo_roma

    Sapete dirmi come devo fare?

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Non puoi usare il punto in php o il comando concat in mysql per fare le concatenazioni del caso?

  3. #3
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    Originariamente inviato da nicola75ss
    Non puoi usare il punto in php o il comando concat in mysql per fare le concatenazioni del caso?
    sicuramente il concat non saprei usarlo mentre con il punto cosa dovrei fare??

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    echo $var1.'_'.$var2.'_'.$var3;

  5. #5
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    Originariamente inviato da nicola75ss
    echo $var1.'_'.$var2.'_'.$var3;
    quindi questo andrebbe bene?

    $hotel_directory = strtolower($_POST['hotel'_'.roma.']);
    $hotel_trattino = ereg_replace(" ", "_", $hotel_directory);

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da Tr|k`Tr4k
    quindi questo andrebbe bene?

    $hotel_directory = strtolower($_POST['hotel'_'.roma.']);
    $hotel_trattino = ereg_replace(" ", "_", $hotel_directory);
    Non ho capito a che ti servono le espressioni regolari.
    Che dati hai in partenza e cosa vuoi ottenere. Devi stampare a video, devi memorizzare il nuovo formato con gli underscore in un campo del db o cosa?


  7. #7
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    Originariamente inviato da nicola75ss
    Non ho capito a che ti servono le espressioni regolari.
    Che dati hai in partenza e cosa vuoi ottenere. Devi stampare a video, devi memorizzare il nuovo formato con gli underscore in un campo del db o cosa?

    si devo inserire nel database i dati

    In pratica inserisco degli hotel, e vorrei creare in automatico il campo directory in modo che prende il nome dell'hotel e ci mette il trattino con la localita'


    per esempio inserisco l'hotel che si chiama HOTEL EXPRESS
    e voglio che quando invio il modulo dal pannello, nel campo directory compaia
    hotel_express_roma

    Ovviamente roma lo tengo come predefinito quindi tutti gli hotel inseriti dovranno avere _roma nel campo directory

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Codice PHP:
    $nome_hotel strtolower(str_replace(' ','_',$_POST['hotel'])).'_roma'

  9. #9
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    Originariamente inviato da nicola75ss
    Codice PHP:
    $nome_hotel strtolower(str_replace(' ','_',$_POST['hotel'])).'_roma'

    ok ho capito vado a buttarmi nel porto

    Funziona benissimo
    Grazie nicola, sei sempre grande

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Occhio agli spazi multipli tra una parola e l'altra se non vuoi avere una caterva di underscore.

    Codice PHP:
    $nome_hotel strtolower(str_replace(' ','_',preg_replace('#[ ]{2,}#',' ',$_POST['hotel']))).'_roma'
    Sicuramente si potrà scrivere in modo più conciso ma con le regexp sono un disastro.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.