Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    42

    Convertire apici doppi in singoli

    Buongiorno a tutti,

    sono alla ricerca di una funzione PHP che non riesco a trovare, per cui sono qui a chiedere una mano.

    Vorrei convertire una variabile del tipo:

    codice:
    $x = "testo di prova"
    in:

    codice:
    $x = 'testo di prova'
    Vorrei quindi sostituire gli apici doppi che racchiudono la stringa, in apici singoli. Attenzione: il problema non sono gli apici che si possono trovare all'interno della stringa (quelli so già come sostituirli) ma proprio quelli che la definiscono.

    Più che di sostituzione di apici, quindi, si tratterebbe di modificare il tipo di variabile.

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Non è chiaro.

    Tu hai un file php e vuoi modificarlo tramite una funzione php, giusto?

    Domanda: non ce l'hai a disposizione in locale in modo da poterlo aprire con un editor ed usare la funzione "Trova e sostituisci"? Faresti 1000 volte prima ed avresti più controllo su ciò che sta succedendo.

    In caso contrario, spiega meglio qual è la situazione, perché non si capisce cosa vuoi fare.

  3. #3
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,648
    Beh il tipo di variabile è la stessa, poi in php il casting è molto aleatorio Il doppio apice interpreta eventuali variabili al suo interno, il singolo apice le tratta come stringhe.

    Come ti è già stato suggerito qualsiasi editor, che non sia il notepad di windows, permette di fare il trova e sostituisci tramite espressioni regolari.

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    42
    Grazie per la risposta.

    Il codice PHP che ho scritto legge un un file csv e butta il risultato in un array. Il file csv contiene stringhe di testo delimitate dai doppi apici; purtroppo, però, nel corso dell'elaborazione questi doppi apici mi creano problemi, per cui mi servirebbe che le stringhe di testo siano delimitate dai singoli apici.

    Mi servirebbe quindi realizzare una cosa del genere:
    codice:
    $x = "testo di prova";
    $x = converti_stringa($x); // Da "testo di prova", la stringa diventa 'testo di prova'
    dove, ovviamente, la funzione converti_stringa è inventata

    Attualmente io faccio esattamente quello che mi hai consigliato, ovvero modificare tutti i doppi apici in singoli apici utilizzando la funzione di conversione dell'editor di testo. Vorrei però in futuro dover evitare questo passaggio e automatizzare il tutto. Ogni volta che il file csv viene modificato (e capita spesso) dovrei stare sempre a ripulirlo prima di caricarlo, vorrei evitarmi questa operazione.

  5. #5
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,648
    I doppi apici in un file csv indicano che stai trattando una stringa, ma una volta in php fanno parte della stringa, dovresti togliergli più che convertirli.


    Cosa usi per importare il csv?

    Con questo risolvi tutto.
    http://php.net/manual/en/function.fgetcsv.php

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    42
    Grazie, in effetti uso proprio la funzione fgetcsv!

    una volta in php fanno parte della stringa, dovresti togliergli più che convertirli.
    Infatti, era proprio questa cosa che mi sfuggiva.
    Il casino nasce dal fatto che le stringhe che leggo con PHP verranno successivamente stampate tramite degli echo all'interno di stringhe, e queste stringhe andranno a definire del codice javascript. Era proprio l'interazione tra PHP e Javascript a fare casino, ma ora sono riuscito a bypassare il problema di questo topic modificando il codice.

    Grazie

  7. #7
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,648
    Devi passare a fgetcsv i parametri corretti

    Codice PHP:
    $array fgetcsv($miofile ',''"'); 

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    42
    Originariamente inviato da pauli
    Grazie, in effetti uso proprio la funzione fgetcsv!


    Infatti, era proprio questa cosa che mi sfuggiva.
    Il casino nasce dal fatto che le stringhe che leggo con PHP verranno successivamente stampate tramite degli echo all'interno di stringhe, e queste stringhe andranno a definire del codice javascript. Era proprio l'interazione tra PHP e Javascript a fare casino, ma ora sono riuscito a bypassare il problema di questo topic modificando il codice.

    Grazie
    Grazie! Preziosissimo suggerimento

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.