• User

    Metodo GET con file_get_contents() mantenere spazi vuoti

    Salve,
    sto utilizzando questa funzione per prelevare il contenuto di una pagina html a cui contemporaneamente invio alcuni parametri, tra cui il titolo della pagina stessa, con il metodo GET.

    Per fare questo ho concatenato una stringa che poi sarà l'argomento della funzione file_get_contents().
    Questo è il codice che sto usando:

    $pezzo1 = "https://dominiodelsito.com/?sku=";
    $pezzo_sku = $this->product->product_sku; // Prelevo il codice prodotto da virtuemart
    $pezzo2 = "&businessUnitId=*****************&apikey=*******************&productName=";
    $pezzo_nome = $this->product->product_name; //Prelevo il nome del prodotto da virtuemart che poi invierò tramite 'GET' alla pagina che richiamo con 'file_get_contents'
    $pezzo3 = "&locale=it&widgetHeight=500";

    $response = file_get_contents($pezzo1.$pezzo_sku.$pezzo2.$pezzo_nome.$pezzo3);

    echo $response;

    Il mio problema è che '$this->product->product_name' è una stringa con spazi tra le parole ma quando la passo a 'file_get_contents' mi viene restituita una stringa senza spazi vuoti. C'è un modo di evitare che la funzione 'file_get_contents' tolga tutti gli spazi vuoti?

    Per esempio se $this->product->product_name = SCHERMO VETRO FRONTALE RICAMBIO GALAXY S4 BLU NAVY I9500 I9505 I9506

    Nel codice html contenuto dentro $response troverò la stessa stringa tutta unita "SCHERMOVETROFRONTALERICAMBIOGALAXYS4BLUNAVYI9500I9505I9506"

    Grazie in anticipo :smile5:


  • ModSenior

    Ciao,
    quella è la risposta dello script che chiami, per cui al massimo devi intervenire su quello.


  • User

    Grazie mille per la risposta.
    Ho risolto con questa riga di codice:

    $pezzo_nome = str_replace(" ", "%20" ,$this->product->product_name);

    In pratica modifico la stringa del nome prodotto prima di darla in pasto alla funzione 'file_get_contents()' sostituendo tutti gli spazi vuoti " " con "%20".