Visualizzazione dei risultati da 1 a 8 su 8

Discussione: problema con substr

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    problema con substr

    in fase di stampa vorrei troncare questo codice

    <iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.it/maps?f=q&source=s_q&hl=it&geocode=&q=Via+Carlo+Gui doni,+39+00137+Roma&sll=33.332726,12.392578&sspn=2 4.136736,57.128906&ie=UTF8&z=14&iwloc=addr&ll=41.9 50873,12.569389&output=embed&s=AARTsJpJVlFR7HWzbFe LGd4Yce4-KzOcgA"></iframe>
    Visualizzazione ingrandita della mappa
    ho fatto così:

    <?php
    $stringa = $row_utente['google_map'];
    echo substr($stringa, 97);
    ?>

    le prime 97 lettere me le taglia correttamente, ma io vorrei che arrivasse fino alla fine invece il codice me lo stampa solo fino a:

    src="http://maps.google.it/maps?f=q&source=s_q&hl=it&geocode=&q=Via+Carlo+Gui doni,+39+00137+Roma&sll=33.332726,12.392578&sspn=2 4.136736,57.128906&ie=UTF8&z=14&iwloc=addr&ll=41.9 50873,12.569389&output=embed&s=AARTsJpJVlFR7HWzbFe LGd4Yce4-KzOcgA">
    sembra come se il testo che segue "</iframe>" gli desse fastidio e di conseguenza interrompesse la stampa

  2. #2
    Non sarebbe meglio usare strpos() oppure un'espressione regolare?

  3. #3
    Codice PHP:
    function truncate($string$max 200$rep '..') { 
        if (
    strlen($string) <= ($max strlen($rep))) { 
            return 
    $string
        } 
        
    $leave $max strlen ($rep); 
        return 
    substr_replace($string$rep$leave); 

    Presa da php.net non trovo + il link


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Originariamente inviato da whisher
    Codice PHP:
    function truncate($string$max 200$rep '..') { 
        if (
    strlen($string) <= ($max strlen($rep))) { 
            return 
    $string
        } 
        
    $leave $max strlen ($rep); 
        return 
    substr_replace($string$rep$leave); 

    Ho scoperto un baco di php!
    con "substr" non riesce a stampare più di tot lettere, superato quel limite non stampa più!
    Ho fatto decine e decine di prove diverse e mi da sempre lo stesso risultato.

    whisher ora provo il tuo metodo vediamo se risolvo.
    Intanto grazie.

  5. #5
    se substr funziona come dici tu, cioè che non stampa più di un tot lettere dovrebbe essere possibile modificarla dato che php è opensource, e farle stampare quanti caratteri ti pare.

    Dico una baggianata?

  6. #6
    Originariamente inviato da sir daniel
    Dico una baggianata?
    Abbastanza. Modificare il sorgente del PHP e ricompilarlo non è una cosa così semplice sopratutto se il problema NON è un bug di PHP ma il comportamento atteso.

    Originariamente inviato da prinzart
    con "substr" non riesce a stampare più di tot lettere, superato quel limite non stampa più!
    Secondo te che cosa dovrebbe fare una funzione chiamata substr()?

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Originariamente inviato da filippo.toso
    Secondo te che cosa dovrebbe fare una funzione chiamata substr()?
    quello che ho scritto all'inizio del post, ma pare che nel mio caso funzioni male

  8. #8
    Originariamente inviato da prinzart
    quello che ho scritto all'inizio del post
    Guarda che il comportamento che ottieni è corretto e da manuale.

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.