Ritorno a capo

marco_rx

Utente Attivo
19 Dic 2010
129
0
0
Come potrei individuare in una textarea i caratteri di doppio ritorno a capo e sostituirli con </p><p> ?
Perchè per l'interruzione di linea "singola" ho usato str_replace passando come argomenti \n e <br /> (o comunque potrei usare nl2br) ma vorrei riuscire a sostituire anche 2 o più ritorni a capo con dei paragrafi che sono più corretti.
Ha un nome questo doppio a capo? (ho provato con \n\n ma niente)
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Usa questa funzione:
PHP:
function nl2p($var)
{
    $var = "<p>{$var}</p>";
    $var = str_replace("\n", '</p><p>', $var);

    return $var;
}
Esempio:
PHP:
$text = <<<EOF
Questo testo verrà diviso in più paragrafi.
Questo è il primo paragrafo del testo.
Questo è il secondo paragrafo del testo.
EOF;

// <p>Questo testo verrà diviso in più paragrafi.</p>
// <p>Questo è il primo paragrafo.</p>
// <p>Questo è il secondo paragrafo.</p>
echo nl2p($text);
Dovevi fare questo?
 

marco_rx

Utente Attivo
19 Dic 2010
129
0
0
I ritorni a capo singoli son già riuscito a farli, quello che vorrei fare è sostituire due ritorni a capo con </p><p>.
Ad esempio in una textarea se premo una volta invio sostituisco il \n con <br /> (e fin qui ci siamo) ma se premo due volte invio vorrei che al posto di due <br /> mi visualizzasse </p><p>.
Non so come spiegarmi, in pratica per tutti i \n superiori a uno vorrei venisse mostrato il paragrafo.
 

Trogo

Utente Attivo
11 Gen 2008
370
0
0
43
Sanremo
Non è che per caso fai prima la sostituzione di "\n" con "<br/>" e poi tenti l'altra sostituzione?
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Modifica la funzione così:
PHP:
function nl2p($var) 
{ 
    $var = "<p>{$var}</p>"; 
    $var = str_replace("\n\n", '</p><p>', $var); 

    $var = nl2br($var);

    return $var; 
}
Questa "versione" sostituirà due ritorni a capo con un paragrafo e un ritorno a capo con un <br />.
 

marco_rx

Utente Attivo
19 Dic 2010
129
0
0
Avevo già provato questa soluzione ma non funziona, i \n vengono sempre sostituiti con <br /> indipendentemente dal numero
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Questo accade perché usi prima la funzione nl2br e solo dopo sostituisci due ritorni a capo con un nuovo paragrafo. Ho provato la funzione in locale e funziona perfettamente:
PHP:
<?php
function nl2p($var)
{
    $var = "<p>{$var}</p>";
    $var = str_replace("\n\n", '</p><p>', $var);

    $var = nl2br($var);

    return $var;
}

$text = <<<EOF
Questo testo verrà diviso in più paragrafi.

Questo è il primo paragrafo del testo.

Questo è il secondo paragrafo del testo.
Questa è semplicemente una nuova linea.
EOF;

// <p>Questo testo verrà  diviso in più paragrafi.</p>
// <p>Questo è il primo paragrafo del testo.</p>
// <p>Questo è il secondo paragrafo del testo.<br /> 
// Questa è semplicemente una nuova linea.</p>
echo nl2p($text);
?>
 

marco_rx

Utente Attivo
19 Dic 2010
129
0
0
No nl2br l'ho messo dopo e ho anche provato a toglierlo ma continua a inserire solo <br /> (in caso ci sia nl2br) e a non formattare il testo in caso non sia presente nl2br.
Non riesco a capire il motivo

EDIT: provando su un server web funziona, può dipendere dal fatto che in locale ho windows?
 
Ultima modifica:

marco_rx

Utente Attivo
19 Dic 2010
129
0
0
Quindi quale potrebbe essere il problema? non riesco a capirlo in nessun modo, il codice è giusto perchè su web funziona ma come mai in locale no?
 
Discussioni simili
Autore Titolo Forum Risposte Data
max_400 form mail - lettere accentate e ritorno a capo PHP 7
A Gestione del ritorno a capo in una textarea Classic ASP 3
MarcoGrazia Valori di ritorno json via ajax non visti. jQuery 1
L pdo (stampare un valore con ritorno a funzione) PHP 0
U PHP bottone per invio mail o ritorno al form PHP 15
Michelebozzo Un ritorno Presentati al Forum 1
V Codice JSON di ritorno jQuery 3
R gestire il ritorno di una variabile con success Ajax 2
G in andata si in ritorno no.... Reti LAN e Wireless 0
V Valore di ritorno (simile ad un vostro precedente post) Ajax 2
G Valore di ritorno script lato server Ajax 4
L Ritorno ai forum Presentati al Forum 4
G Ritorno a casa Presentati al Forum 0
L Integrazione PayPal. Con tasto paga adesso e link di ritorno PHP 5
L problema nella implementare una funzione con ritorno PHP 2
GoshMaledetto problema ritorno valori php da chiamata ajax Ajax 9
S Form PHP e validazione con ritorno di parametro PHP 0
M Dopo invio del form ritorno alla "base"..... PHP 11
L Pagamento con Paypal e ritorno di dati al sito E-Commerce 4
L query con ritorno.. PHP 2
L E-commerce Problema Url di ritorno con paypal E-Commerce 4
F Prelevare variabile di ritorno da Google Maps API PHP 0
F Collegamento da form al database e ritorno! Classic ASP 2
B Directory turismo no link di ritorno sino al 31 6 2009 Presenta il tuo Sito 0
N Ritorno alla pag precedente HTML e CSS 6
P problemino con il valore di ritorno di una funzione Javascript 2
P Directory gratuita, senza link di ritorno e passa rank SEO e Posizionamento 0
P Directory gratuita, senza link di ritorno e passa rank Presenta il tuo Sito 0
B directory turismo puglia no link ritorno Presenta il tuo Sito 0
B Directory turismo no link ritorno Presenta il tuo Sito 1
S Problema di ritorno a paco con area di testo PHP 4
B Directory senza link di ritorno Presenta il tuo Sito 0
Z Controllo campi vuoti, ritorno al modulo d'invio PHP 10
F Nuova directory senza link di ritorno obbligatorio Presenta il tuo Sito 7
A Ricezione dati di ritorno da una classe PHP 1
C Fast-navigation.com Directory no link ritorno Presenta il tuo Sito 4
PoLe Il dramma del ritorno..... Discussioni Varie 3
B ritorno all'indietro PHP 1
V Parere sul nostro sito 2:Il ritorno Presenta il tuo Sito 2
S Il ritorno di CnW!!! Presenta il tuo Sito 3
C Dopo chiusura del tag php la stringa html va a capo PHP 1
F Andare a capo all'interno di una tabella WordPress 4
W Mandare a capo valore di SQL Classic ASP 2
P textbox- scrivere tutto su una sola riga anche se si va a capo .NET Framework 2
D [MySQL] [PHP] SQL andare da capo MySQL 0
Cosina Andare a capo nel testo della mail ricevuta dal form php PHP 1
I [HTML] Tooltips vanno a capo HTML e CSS 6
A [PHP] Visualizzazione righe (a capo) file .txt PHP 2
M [PHP] A capo dopo if PHP 2
M Javascript/Php. Stringa di testo a capo con alert Javascript 7

Discussioni simili