Visualizzazione risultati 1 fino 21 di 21

Discussione: Se la parola è lunga mostrare "..." php

  1. #1
    Guest

    Predefinito Se la parola è lunga mostrare "..." php

    Vorrei fare una semplice cosetta in php
    Devo mostrare dinamicamente un link, che può cambiare ogni volta (motore di ricerca) però mi ritrovo in una funzione che escono link enormi e mi scombinano la pagina. Vorrei sapere come fare un piccolo comando che dovrebbe fare, se una parola è più lunga di per esempio 15 lettere, al posto delle lettere mancanti mostrare i ... (tre puntini)
    Come posso fare?
    Grazie mille

  2. #2
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Usa substr():

    Codice PHP:
    echo substr("Cantami, o Diva, del Pelìde Achille",0,15)."..."; // Stampa: Cantami, o Diva...

    /* Altro Esempio con l'IF */
    $string = "Cantami, o Diva, del Pelìde Achille";

    if(
    strlen($string) > 15){
    echo
    substr($string,0,15);
    }else{
    echo
    $string;
    }
    Apprezzi l'aiuto? Offrimi un caffè!

  3. #3
    Guest

    Predefinito

    E al posto di "Cantami, o Diva, del Pelìde Achille"
    cosa devo metterci? La class del link dinamico?

  4. #4
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Devi metterci la stringa/testo che vuoi sia troncato.
    Apprezzi l'aiuto? Offrimi un caffè!

  5. #5
    Guest

    Predefinito

    Ok...
    ma ripeto il testo che devo metterci è dinamico:
    Codice:
    <div class='url'>"+display_url+"</div></div>
    Anche se non ho provato, se metto il php sono quasi sicuro che mi da errore...
    Come lo posso configurare correttamente?
    Grazie mille!

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,067

    Predefinito

    Se il testo dinamico (da come vedo) è js, non ci sono problemi. Se invece è php, leggi qui.

    Ciao!

  7. #7
    Guest

    Predefinito

    Ragazzi, il testo è js, ma mi da errore...
    Codice:

    Codice:
    if (url_img) {
    				if (ii==0) {
    				final_news+="<div class='newsresult'> <table class=''><tr><td class='td_img_news'> <a href='"+urll+"' target='_blank' class=''><img src='"+url_img+"' class='img_news' /></a><?php
    /* Altro Esempio con l'IF */
    $string = "<div style='color: #006699; font-family: arial; font-size: small; text-align: center'>"+file_dominio+"</div>";
    
    if(strlen($string) > 9){
    echo substr($string,0,9);
    }else{
    echo $string;
    }
    ?>
    							
    				final_news+="</td><td class='td_news'><p><div class='title_news'><a href='"+urll+"'>"+title+"</a></div><div class='desc_news'>"+diss+"</div><div class='snip'>"+snip+"</div><div class='dd'>"+dd+"</div></p></td></tr></table>";
    				final_news+='</div>';
    				}
    				else final_news+="<div class='newsresult_small'><div class='title_news_small'><a href='"+urll+"'>"+title+"</a></div><div class='desc_news'>"+diss+"</div></div>";
    				}      
    				else if (ii==0) final_news+="<div class='newsresult'><div class='title'><a href='"+urll+"' target='_blank'>"+title+"</a></div><div class='desc_news'>"+diss+"</div><div class='snip'>"+snip+"</div><div class='dd'>"+dd+"</div></div>";
    				else final_news+="<div class='newsresult_small'><div class='title_news'><a href='"+urll+"' target='_blank'>"+title+"</a></div><div class='desc_news'>"+diss+"</div></div>";
    				
     			
    }//end for
    EDIT:

    Ragazzi, torno qui perchè non riesco...
    Se metto la class <div class="desc">"+dis+"</div> dentro la string mi da errore...
    Ho provato anche in js a fare: if (desc.length>20)
    desc=desc.substring(10, 20);
    ma non funziona, ho inoltre provato nel edit avanzato quando crei il file php a trovare l'errore, ma senza risultato.
    Grazie per chi mi aiuterà!
    Ultima modifica di alemoppo : 05-04-2012 alle ore 15.36.39

  8. #8
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,067

    Predefinito

    Se scrivi:

    Codice PHP:
    echo "<div class="desc">"+dis+"</div>";
    è ovvio che da errore. Guarda i colori.

    Inoltre, nota che in PHP le stringhe si concatenano con il punto, e non con il più.

    Ciao!

  9. #9
    Guest

    Predefinito

    Nell'editor non riesco a vedere i colori, il codice si attacca e non riesco nemmeno a fare a capo.
    Ho provato così:
    Codice PHP:
    <?php
    echo substr("Cantami, o Diva, del Pelìde Achille",0,15)."..."; // Stampa: Cantami, o Diva...

    /* Altro Esempio con l'IF */
    $string = "var final="<div class='webresult'><div class='title'><a href='"+urll+"' target='_blank'>".title."</a></div><div class='desc'>".final_deep."</div><div class='desc'>".dis."</div><div class='url'>".display_url."&nbsp;&nbsp;".final_deep_dominio."&nbsp;&nbsp;".final_cache_url."</div><div class='desc'>".final_deep_cascata."</div><div class='url'>".final_tags."</div></div>";";

    if(
    strlen($string) > 15){
    echo
    substr($string,0,15);
    }else{
    echo
    $string;
    }
    ed mi da errore... non sono esperto, forse per voi che siete esperti avrò scritto assurdità...
    Aiuto! A questo punto posso contare solo su di voi
    Ultima modifica di alemoppo : 05-04-2012 alle ore 18.34.57 Motivo: [code] -> [php]

  10. #10
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,067

    Predefinito

    Ti ho aggiustato il tag.
    Se ancora non riesci a vedere l'errore, è inutile che te lo scrivo correttamente. Dovresti guardarti come si gestiscono le stringhe in PHP (ad esempio qui).

    Ciao!

  11. #11
    Guest

    Predefinito

    Mi sono già studiato un pò di stringhe, io non so come configurare js e php insieme quello sulla guida non c'è scritto... :(

  12. #12
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,253

    Predefinito

    Citazione Originalmente inviato da talkpluginorange Visualizza messaggio
    Nell'editor non riesco a vedere i colori, il codice si attacca e non riesco nemmeno a fare a capo.
    Uhm... cambia editor? Persino un semplice notepad2 ti colora la sintassi.

    Citazione Originalmente inviato da talkpluginorange Visualizza messaggio
    Aiuto! A questo punto posso contare solo su di voi
    No, no! Su di noi non ci contare. Conta su te stesso, e le mille guide disponibili. Se ti "da errore", guarda cosa vuol dire l'errore, e cerca di correggerlo

    Magari non ci riesci, ma quando hai ristretto il problema allora vieni a chiedere qua. Ma dire "non funziona" davanti a righe e righe di codice fa solo passare la voglia di seguire quello che fai.

  13. #13
    Guest

    Predefinito

    Ho provato mettendo tutto il codice del mio motore dentro la stringa ma sempre errore...
    Vorrei solo saere una domanda, ma dentro le stringhe si possono mettere i js in generale?
    C'è... è impossibile, ho messo tutto ok ancora non funziona!

  14. #14
    Guest

    Predefinito

    Senti, anche io che ho già una esperienza di 2anni e mezzo come webmaster avrei delle difficoltà a districarmi in un codice così complesso come quello che presenti (essendo di un motore di ricerca, la cosa più difficile in assoluto che si possa fare sul web).

    Detto questo, vedo che vuoi unire delle variabili javascript (livello client) ad altre php (livello server). Quì non si parla di sviste o di errori nella sintassi. Quì si parla della mancanza quasi assoluta di tutte le conoscenze necessarie per sviluppare un sito. Un ottimo web master penso proprio che non avrebbe la più pallida idea di come fare per costruire un motore di ricerca (non a caso ce ne sono ben pochi in giro oltre a google), come pensi di poterlo fare tu se non hai le conoscenze base da webmaster.

    In definitiva, probabilmente sarò l'unico a pensare questo, ma personalmente non ti aiuterò fino a che non avrai studiato parecchio questi linguaggi. Sarò sempre disponibile ad aiutarti nel tuo studio, ma non puoi pretendere di mettere sù un motore di ricerca senza neanche sapere come si concatenano due variabili.

    Ciao

  15. #15
    Guest

    Predefinito

    Che non so le variabili ti do ragione, lo dico sempre anche io stesso.
    Ma se scrivo qui è per imparare, e ogni post imparo cose nuove a seconda delle circostanze...
    ora non riesco a portare su questo problema... e non ho capito per niente cosa devo fare (sintassi sbagliata suppongo)

  16. #16
    Guest

    Predefinito

    Non si può imparare le basi partendo facendo una specie di motore di ricerca.
    Prima di iniziare a fare il mio primo progetto web, mi sono letto praticamente tutti gli articoli di http://www.html.it. Ti consiglio vivamente di fare lo stesso e ti garantisco che dopo aver studiato tutte le guide/tutorial di html.it inerenti a javascript e php riuscirai da solo a risolvere questo e tanti altri futuri problemi.

  17. #17
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    codice da mettere nel js dopo :
    var display_url=DisplayTextWithHighlighting(display_ur ll);


    prendo l'url fino almeno all'ultimo / nella stringa
    se la lunghezza della stringa supera 30, prendo i primi 30 caratteri, quindi chiudo il tag bold e aggiungo i puntini:
    Codice HTML:
    display_url=display_url.substring(0, display_url.lastIndexOf('/'));
    if (display_url.length>30) display_url=display_url.substring(0, 30)+'</b> ...';		
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  18. #18
    Guest

    Predefinito

    Grazie Euro...
    gentilissimo...
    e per altre cose come il file_dominio?

    Codice:
    <div style='font-size:9px;'><a href='"+url_img+"' target='_blank' class=''>"+file_url+"</a></div><div style='color: #66cc66;font-size:9px;'>"+file_dominio+"</div>";
    dove si posiziona? Sotto?

  19. #19
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    fai una correzzione al codice di cui sopra, semplicemente diventa:
    Codice HTML:
    if (display_url.length>30) display_url=display_url.substring(0, 30)+'</b> ...';			
    else display_url=display_url+'</b>';			
    per la variabile file_dominio a cosa ti riferisci alle news o alle image?
    Ultima modifica di EuroSalute : 06-04-2012 alle ore 20.19.41 Motivo: correzzioni
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  20. #20
    Guest

    Predefinito

    Mi riferisco ad abbreviare con i puntini il file dominio in verde sotto la image

  21. #21
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    dopo :
    Codice HTML:
    var file_dominio=url.substring(url.indexOf("/")+2, url.lastIndexOf("/")-1);
    				file_dominio=file_dominio.substring(0, file_dominio.indexOf("/"));
    				if (file_dominio.indexOf("w")!=-1) file_dominio=file_dominio.substring(file_dominio.indexOf("w")+4, file_dominio.length);		
    aggiungi:
    Codice HTML:
    if (file_dominio.length>30) file_dominio=file_dominio.substring(0, 30)+'...';

    edito....in riguardo al troncare la variabile display_url

    mi sono accorto che si verifica un errore di visualizzazione della variabile display_url, in quanto questa variabile contiene i tags bold (e quindi può visualizzarsi il carattre <).

    per ovviare a questo inconveniente, ho riscritto il codice, che va inserito prima della funzione : var display_url=DisplayTextWithHighlighting(display_ur ll);
    Codice HTML:
    if (display_urll.search('/')!=-1)
    display_urll=display_urll.substring(0, display_urll.indexOf('/'))+'&nbsp;...';
    questo codice prende solo il dominio e aggiunge i 3 puntini.
    Ultima modifica di EuroSalute : 06-04-2012 alle ore 23.31.47 Motivo: corezzioni al codice...
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •