Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074

    tagliare una stringa conoscendo solo il punto d'inizio del taglio

    Problema: devo creare una lista di link, all'interno di uno spazio (abbastanza) limitato orizzontalmente. Poiché non voglio che i link stessi risultino spezzati su due righe, ed a volte possono essere anche molto lunghi, vorrei poter fare qualcosa del genere...
    1 - chiamo il db, ed estraggo il valore dalla tabella (poniamo $row["link"])
    2 - verifico all'interno della stringa dove si trova la prima / (nel db, sono registrati senza l'http)
    3 - da quel punto in avanti, sino alla fine della stringa, taglio
    4 - attribuisco il valore ad una variabile (es. $linkvisibile)
    5 - mi costruisco una cosa del tipo:
    Codice PHP:
    echo "<a href=\"http:\\\" . $row["link"] . "\">" $linkvisibile "</a>"
    Come posso fare ad ottenere il risultato del punto 3?
    metatad
    graphic & web design

  2. #2
    Usa substr();

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    Già, ma come?...
    Anche volendo invertire il taglio (giustamente) prendendo tutta la stringa fino al segno /, non mi funge; ho provato così:
    Codice PHP:
    $link $row["link"];
    $sublink substr('$link'0,'/'); 
    ma non mi restituisce nulla...
    Idem se scrivo:
    Codice PHP:
    $link $row["link"];
    $sublink substr('$link''w','/'); 
    metatad
    graphic & web design

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Prova questa, postata se non sbaglio da andr3a
    Codice PHP:
    function urlLength$url$length ) {
        
    $st '<a href="'.$url.'">';
        if( ( 
    $a strlen$url ) ) > $length ) {
                
    $b floor$length );
            
    $url substr$url0$b )."...".substr$url, -( $b ) );
        }
        return 
    $st.$url.'</a>';
    }

    $st "http://forum.html.it/forum/showthread.php?s=&threadid=1038746";
    echo 
    urlLength($st,30); 

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    Dunque, ho risolto da un lato, ma è sorto un nuovo problema, che proprio non capisco!
    Allora, questo è il codice che utilizzo:
    Codice PHP:
    $result mysql_query("SELECT * FROM `link2us` ORDER BY l_id ASC");
    while (
    $row mysql_fetch_array($result)) {
        
    $link $row["link"];
        
    $pos strrpos($link"/");
        
    $sublink substr($link0,$pos);
        echo 
    $row["link"] . "* <span class=\"mylinks\"><a href=\"" $row["link"] . "\" target=\"_blank\">" $sublink "</a></span>
    "
    ;

    In questo modo, riesco ad enucleare la stringa con l'Url del solo dominio. Però quando vado a testare la pagine, il link mi viene fuori che punta ad un Url inesistente e sballato!
    Se, ad esempio, il primo link è www.dominioesterno.com ed il dominio dove si trova la mia pagina è www.miodominio.it, viene fuori un link a:
    Da dove viene fuori questo www.miodominio.it/?
    Nel db non c'è, ovviamente, e allora???
    metatad
    graphic & web design

  6. #6
    Originariamente inviato da metatad
    Dunque, ho risolto da un lato, ma è sorto un nuovo problema, che proprio non capisco!
    Allora, questo è il codice che utilizzo:
    Codice PHP:
    $result mysql_query("SELECT * FROM `link2us` ORDER BY l_id ASC");
    while (
    $row mysql_fetch_array($result)) {
        
    $link $row["link"];
        
    $pos strrpos($link"/");
        
    $sublink substr($link0,$pos);
        echo 
    $row["link"] . "* <span class=\"mylinks\"><a href=\"" $row["link"] . "\" target=\"_blank\">" $sublink "</a></span>
    "
    ;

    In questo modo, riesco ad enucleare la stringa con l'Url del solo dominio. Però quando vado a testare la pagine, il link mi viene fuori che punta ad un Url inesistente e sballato!
    Se, ad esempio, il primo link è www.dominioesterno.com ed il dominio dove si trova la mia pagina è www.miodominio.it, viene fuori un link a:

    Da dove viene fuori questo www.miodominio.it/?
    Nel db non c'è, ovviamente, e allora???
    manca http:// nel tag a, altrimenti lo prende come relativo
    ·.·´¯`·)»Davide«(·´¯`·.·
    edivad82:~#/etc/init.d/brain restart
    Brain is a Network

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    ok, risolto....
    metatad
    graphic & web design

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.