Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    spezzare un testo senza spezzare le parole

    Il mio problema, come si può intuire è quello di spezzare un testo senza però spezzare le singole parole.

    Mi sapete aiutare?

    Il codice che attualmente uso mi tronca le parole.
    Codice PHP:
    $car=$strlen/$num_img;  // ogni $car caratteri segmento il testo
    $carattere_iniziale=0;
    $carattere_finale=$car;

    while(........){
     ......
     
     echo 
    substr($str,$carattere_iniziale,$carattere_finale);
     
    $carattere_iniziale=$carattere_finale+1;
     
    $carattere_finale+=$car;
     ......



  2. #2
    Guardati wordwrap , il primo esempio.
    dA .. foto di viaggio
    L'esperienza è il tipo di insegnante più difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  3. #3
    scusa se rispondo tardi ma non ho avuto il modo di provare il tutto.

    Forse non ho spiegato bene cosa voglio fare.

    Io ho un testo e un numero variabile di immagini. Quello che mi interessa è mettere una immagine ogni 300 caratteri, una volta allineata a sinistra e la volta dopo allineata a destra.

    Attualmente questo è il codice:
    Codice PHP:
    $car=$strlen/$num_img
                                        
    /**
                                         * Spezzo la stringa ogni $num_img 
                                         */
                                        
    $carattere_iniziale=0;
                                        
    $carattere_finale=$car;
                                

                                        
    /**
                                         * una volta allineata a left una a right
                                         */
                                        
    $align 'left' ;
                                        while (
    $ro_img=mysql_fetch_array($r_img)) {
                                            echo 
    "\n<a class=\"nounderline\" href=\"".$ro_img['path_high']."\" rel=\"lightbox\" title=\"".$ro_img['note']."\"/>\n";
                                            echo 
    "\n<img class=\"foto_testo_contenuto\" align=\"$align\"  src=\"".$ro_img['path_low']."\" alt=\"".$ro_img['note']."\"/>\n";
                                            echo 
    "\n</a>\n";
                                            echo 
    substr($str,$carattere_iniziale,$carattere_finale);
                                            
    $carattere_iniziale=$carattere_finale+1;
                                            
    $carattere_finale+=$car;
                                            
    $align $align == 'left' 'right' 'left' 
                                        }
                                        break; 
    solo che tronca alcune parole e a volte ripete i caratteri, come posso migliorarlo?

  4. #4
    codice:
    function insertImage(&$pos, &$images){
    	$img = '<a class="nounderline" href="'.$images[$pos]['path_high'].'" rel="lightbox" title="'.$images[$pos]['note'].'"/>'.
    			'<img class="foto_testo_contenuto" align="<align>"  src="'.$images[$pos]['path_low'].'" alt="'.$images[$pos]['note'].'"/>'.
    		'</a>';
    	return str_replace('<align>', $pos++ % 2 ? 'left' : 'right', $img);
    }
    
    $pos = 0;
    
    $images = array();
    
    while($ro_img = mysql_fetch_assoc($r_img))
    	$images[] = $ro_img;
    
    $output = preg_replace(
    	'/<image>/e', 
    	'insertImage($pos, $images)', 
    	wordwrap($output, 300, "<image>")
    );
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #5
    grazie dell'interessamento.

    il tuo codice mi restituisce questo errore:

    Codice PHP:
    Warningpreg_replace_callback() requires argument 2'insertImage($pos, $images)'to be a valid callback in c:\wwwroot\dellaciana\pag.php on line 177 
    che significa? xche mi si blocca

  6. #6
    hai ragione, scrivi preg_replace al posto di preg_replace_callback
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #7
    ho fatto una echo $output; ma non visualizza nulla? e non da nessun warning.

    Come mai?

  8. #8
    Originariamente inviato da f.domenella
    ho fatto una echo $output; ma non visualizza nulla? e non da nessun warning.

    Come mai?
    è una variabile vuota ?

    $output dovrebbe essere la variabile contenente l'output della pagina, nel tuo caso spero abbia un altro nome, se invece scrivi echo una riga si ed una no passo la palla a qualcuno che avrà voglia di spiegarti perchè stai sbagliando e quante infinite possibilità ti stai togliendo per maneggiare le tue pagine dinamiche.

    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  9. #9
    scusa ma non ci ho capito molto, potresti essere più chiaro?

  10. #10
    Originariamente inviato da f.domenella
    scusa ma non ci ho capito molto, potresti essere più chiaro?
    si, il comando echo va usato una sola volta in fondo a tutto per mostrare l'intero layout memorizzato all'interno di una variabile di tipo stringa dal nome ... quello che ti pare, nel mio caso ho usato il nome $output.

    Questa una delle prime best practices del PHP ... sia per tempi di esecuzione che per possibilità di elaborazione (metti mano all'output quando vuoi... se hai già fatto echo diventa un pò più complicato e cambiarlo forzerebbe la linearità delle operazioni)
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

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.