Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Come tagliare una stringa evitando ti tagliare la parola?

    Ho un sito su Aruba ed i loro amministratori mi hanno tagliato una pagina (costruita da me e contenente solo dei select e qualche ciclo), perchè dicevano che usava TROPPE risorse.
    Ovviamente non mi hanno detto che parte di codice poteva causare il problema.
    Controllando bene ho pensato che potesse essere questi ciclo while, che impediva che una parola venisse tagliata.

    Codice PHP:
    $fix_lunghezza strlen($testo_news);
    if (
    $fix_lunghezza 300)
    {
    $n=300;
    $sub substr($testo_news,0,$n);
    while(
    $testo_news[$n]!=" "){
    $sub.=$testo_news[$n];
    $n++;

    Togliendo il ciclo while nessuno di aruba mi ha più ricontattato, ma ovviamente ora l'estetica della frase non è il massimo.
    Praticamente ogni frase finisce troncata: es. "Questa è una frase tronc"

    Come potrei fare ad evitare questo e allo stesso tempo non OCCUPARE TROPPE RISORSE di Aruba?

    Thx

  2. #2
    Utente di HTML.it L'avatar di Inoki
    Registrato dal
    Oct 2001
    Messaggi
    788
    potresti fare un explode sulla stringa

    $str= explode(" ", $stringa);

    in questo caso $str è un array in cui ogni elemento è una parola..
    Nel caso superi le 300 lettere puoi mettere le prime X parole

    $newStr=$str[0]." ".$str[1]." " .---- $str[X];

    "La teoria è quando si sa tutto e niente funziona. La pratica è quando
    tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
    insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
    il perché!" (Albert Einstein)

  3. #3
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    think simple think ringo

  4. #4
    Se prendi il testo da mysql usa le funzioni per le stringhe e tagliale direttamente in mysql


    SUBSTRING_INDEX(str,delim,count)

    Returns the substring from string str before count occurrences of the delimiter delim. If count is positive, everything to the left of the final delimiter (counting from the left) is returned. If count is negative, everything to the right of the final delimiter (counting from the right) is returned.







  5. #5
    Grazie a tutti!
    Ho usato strSelect :=)

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.