[php] incolonnare testo

Linguaggi di programmazione: php, perl, python, C, bash, ecc.

[php] incolonnare testo

Messaggioda london3 » mercoledì 13 marzo 2019, 19:35

Codice: Seleziona tutto
echo <<<ID
1. elefante\tÈ un animale molto grande
2. cane\tÈ un animale domestico
3. ormitorinco\tÈ un animale bla bla bla...
ID;


Output:

Codice: Seleziona tutto
1. elefante    È un animale molto grande
2. cane    È un animale domestico
3. ormitorinco    È un animale bla bla bla...


Io però lo vorrei cosi

Codice: Seleziona tutto
1. elefante
           È un animale molto grande
2. cane    È un animale domestico
3. ormitorinco
           È un animale bla bla bla...


Si può?
Magari usando preg_replace()...

Ecco un altro esempio analogo
https://cdncontribute.geeksforgeeks.org ... -58-48.png
Le opzioni corte vengono presentate su un'unica riga, mentre quelle lunghe (ad esempio --version) su più righe.
Computer: Lenovo ThinkPad L480
Avatar utente
london3
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 255
Iscrizione: gennaio 2014
Desktop: ubuntu:GNOME
Distribuzione: Ubuntu 19.04 x86_64

Re: [php] incolonnare testo

Messaggioda Eresia » giovedì 14 marzo 2019, 20:03

\n prima del \t funziona?
emerge --auD --oneshot life/lucky-*
Avatar utente
Eresia
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 343
Iscrizione: giugno 2006
Distribuzione: arch
Sesso: Maschile

Re: [php] incolonnare testo

Messaggioda london3 » venerdì 15 marzo 2019, 16:34

Eresia Immagine ha scritto:\n prima del \t funziona?

si ma andrebbe fatto solo per le opzioni che superano lo spazio occupato da un \t
Computer: Lenovo ThinkPad L480
Avatar utente
london3
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 255
Iscrizione: gennaio 2014
Desktop: ubuntu:GNOME
Distribuzione: Ubuntu 19.04 x86_64

Re: [php] incolonnare testo

Messaggioda TommyB1992 » sabato 16 marzo 2019, 4:58

Non credo, però puoi ciclare riga per riga, se supera x caratteri aggiungi "\n\t" altrimenti lasci invariata
TommyB1992
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 700
Iscrizione: luglio 2013
Desktop: GNU/Linux
Distribuzione: Ubuntu 15.04 (i686)
Sesso: Maschile

Re: [php] incolonnare testo

Messaggioda london3 » sabato 16 marzo 2019, 11:32

TommyB1992 Immagine ha scritto:Non credo, però puoi ciclare riga per riga, se supera x caratteri aggiungi "\n\t" altrimenti lasci invariata

Potresti fare un esempio?
Da notare che \t occupa uno spazio arbitrario.
Computer: Lenovo ThinkPad L480
Avatar utente
london3
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 255
Iscrizione: gennaio 2014
Desktop: ubuntu:GNOME
Distribuzione: Ubuntu 19.04 x86_64

Re: [php] incolonnare testo

Messaggioda TommyB1992 » sabato 16 marzo 2019, 22:42

Codice: Seleziona tutto
<?php
// Your code here!
$a = <<<ID
1. elefante\tÈ un animale molto grande
2. cane\tÈ un animale domestico
3. ormitorinco\tÈ un animale bla bla bla...
ID;

foreach (explode(PHP_EOL, $a) as $v) {
    if (strpos($v, "\t") >= 11) {
        print($v);
    } else {
        print(str_replace("\t", "\n\t", $v));
    }
    print(PHP_EOL);
}


Una cosa simile
TommyB1992
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 700
Iscrizione: luglio 2013
Desktop: GNU/Linux
Distribuzione: Ubuntu 15.04 (i686)
Sesso: Maschile

Re: [php] incolonnare testo

Messaggioda london3 » domenica 17 marzo 2019, 18:42

TommyB1992 Immagine ha scritto:
Codice: Seleziona tutto
<?php
// Your code here!
$a = <<<ID
1. elefante\tÈ un animale molto grande
2. cane\tÈ un animale domestico
3. ormitorinco\tÈ un animale bla bla bla...
ID;

foreach (explode(PHP_EOL, $a) as $v) {
    if (strpos($v, "\t") >= 11) {
        print($v);
    } else {
        print(str_replace("\t", "\n\t", $v));
    }
    print(PHP_EOL);
}


Una cosa simile

11 da dove proviene?
Computer: Lenovo ThinkPad L480
Avatar utente
london3
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 255
Iscrizione: gennaio 2014
Desktop: ubuntu:GNOME
Distribuzione: Ubuntu 19.04 x86_64

Re: [php] incolonnare testo

Messaggioda TommyB1992 » martedì 19 marzo 2019, 2:47

il numero di caratteri contati per l'incolonnamento
TommyB1992
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 700
Iscrizione: luglio 2013
Desktop: GNU/Linux
Distribuzione: Ubuntu 15.04 (i686)
Sesso: Maschile

Re: [php] incolonnare testo

Messaggioda london3 » martedì 19 marzo 2019, 17:01

TommyB1992 Immagine ha scritto:il numero di caratteri contati per l'incolonnamento

Li hai contati tu?
Io ho l'impressione che dobbiamo considerarlo un valore arbitrario.
Computer: Lenovo ThinkPad L480
Avatar utente
london3
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 255
Iscrizione: gennaio 2014
Desktop: ubuntu:GNOME
Distribuzione: Ubuntu 19.04 x86_64

Re: [php] incolonnare testo

Messaggioda TommyB1992 » mercoledì 20 marzo 2019, 22:28

Si li ho contati io, dovrai avere un numero X di caratteri nel quale vuoi che vada a capo, o no?
TommyB1992
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 700
Iscrizione: luglio 2013
Desktop: GNU/Linux
Distribuzione: Ubuntu 15.04 (i686)
Sesso: Maschile

Re: [php] incolonnare testo

Messaggioda london3 » giovedì 21 marzo 2019, 8:03

TommyB1992 Immagine ha scritto:Si li ho contati io, dovrai avere un numero X di caratteri nel quale vuoi che vada a capo, o no?


Ma questo numero può variare da sistema a sistema, da software a software (da terminale a terminale), da configurazione a configurazione (posso impostarlo a 4, 5, 6...).
Questo numero è arbitrario :)
Computer: Lenovo ThinkPad L480
Avatar utente
london3
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 255
Iscrizione: gennaio 2014
Desktop: ubuntu:GNOME
Distribuzione: Ubuntu 19.04 x86_64

Re: [php] incolonnare testo

Messaggioda TommyB1992 » giovedì 21 marzo 2019, 17:00

london3 Immagine ha scritto:
TommyB1992 Immagine ha scritto:Si li ho contati io, dovrai avere un numero X di caratteri nel quale vuoi che vada a capo, o no?


Ma questo numero può variare da sistema a sistema, da software a software (da terminale a terminale), da configurazione a configurazione (posso impostarlo a 4, 5, 6...).
Questo numero è arbitrario :)


Tu stesso hai scritto:
Potresti fare un esempio?


Perciò il mio era un esempio esemplificativo... e poi oltretutto non è vero, da terminale a terminale cosa? Tu pensi che 8 caratteri incolonnati nel prompat di windows siano diversi da 8 caratteri incolonnati sul terminale di linux?

Visto le domande (e soprattutto le risposte) che ti poni io comunque ti consiglio di tornare a studiare un pò di basi del linguaggio (che poi è anche un linguaggio molto semplice)
TommyB1992
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 700
Iscrizione: luglio 2013
Desktop: GNU/Linux
Distribuzione: Ubuntu 15.04 (i686)
Sesso: Maschile

Re: [php] incolonnare testo

Messaggioda london3 » venerdì 22 marzo 2019, 17:13

TommyB1992 Immagine ha scritto:
london3 Immagine ha scritto:
TommyB1992 Immagine ha scritto:Si li ho contati io, dovrai avere un numero X di caratteri nel quale vuoi che vada a capo, o no?


Ma questo numero può variare da sistema a sistema, da software a software (da terminale a terminale), da configurazione a configurazione (posso impostarlo a 4, 5, 6...).
Questo numero è arbitrario :)


Tu stesso hai scritto:
Potresti fare un esempio?


Perciò il mio era un esempio esemplificativo... e poi oltretutto non è vero, da terminale a terminale cosa?


bash, sh, ssh (per il remoto), il vecchio telnet: non c'è ne solo uno

Tu pensi che 8 caratteri incolonnati nel prompat di windows siano diversi da 8 caratteri incolonnati sul terminale di linux?


No, ma non è questo il punto.


Visto le domande (e soprattutto le risposte) che ti poni io comunque ti consiglio di tornare a studiare un pò di basi del linguaggio (che poi è anche un linguaggio molto semplice)

Vedi i due file in allegato che valgono più di mille parole.
Allegati
Variabilità di una tabulazione.png
Variabilità di una tabulazione.doc
(9.5 KiB) Scaricato 6 volte
Computer: Lenovo ThinkPad L480
Avatar utente
london3
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 255
Iscrizione: gennaio 2014
Desktop: ubuntu:GNOME
Distribuzione: Ubuntu 19.04 x86_64

Re: [php] incolonnare testo

Messaggioda Eresia » martedì 26 marzo 2019, 23:02

puoi simulare qualcosa tipo:
Codice: Seleziona tutto
foreach(preg_split("/((\r?\n)|(\r\n?))/", $a) as $line){
   if (strlen($a)) {
      echo preg_replace('#\t#', '<br>'.'&emsp;&emsp;&emsp;', $line) . "<br>";
   }
}


output:
Codice: Seleziona tutto
1. elefante
   È un animale molto grande
2. cane
   È un animale domestico
3. ormitorinco
   È un animale bla bla bla...


Nel tuo esempio la parola cane non ha N caratteri arbitrari, ma hai scelto tu
emerge --auD --oneshot life/lucky-*
Avatar utente
Eresia
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 343
Iscrizione: giugno 2006
Distribuzione: arch
Sesso: Maschile

Re: [php] incolonnare testo

Messaggioda london3 » mercoledì 27 marzo 2019, 13:00

Eresia Immagine ha scritto:puoi simulare qualcosa tipo:
Codice: Seleziona tutto
foreach(preg_split("/((\r?\n)|(\r\n?))/", $a) as $line){
   if (strlen($a)) {
      echo preg_replace('#\t#', '<br>'.'&emsp;&emsp;&emsp;', $line) . "<br>";
   }
}



<br>?
OK diamo per scontato che siamo in una pagina web, per complicare di più le cose :D

output:
Codice: Seleziona tutto
1. elefante
   È un animale molto grande
2. cane
   È un animale domestico
3. ormitorinco
   È un animale bla bla bla...


Nel tuo esempio la parola cane non ha N caratteri arbitrari,



ehm... diciamo di si


ma hai scelto tu


Infatti ho fatto un'ottima scelta :D :D
Ma cosa ho scelto?!?!? :|
Computer: Lenovo ThinkPad L480
Avatar utente
london3
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 255
Iscrizione: gennaio 2014
Desktop: ubuntu:GNOME
Distribuzione: Ubuntu 19.04 x86_64

Re: [php] incolonnare testo

Messaggioda Eresia » mercoledì 27 marzo 2019, 13:20

scusami ho dato per scontato l'utilizzo di php su pagina web, devi essere più preciso quando formuli un problema.

Hai scritto volutamente "cane" con la tabulazione sulla stessa riga, mentre con gli altri nomi no, quindi hai imposto tu la regola degli 11 caratteri, se vuoi un valore arbitrario puoi utilizzare la grandezza X di una finestra, ma devi utilizzare javascript non php.

La soluzione di tommy è corretta
emerge --auD --oneshot life/lucky-*
Avatar utente
Eresia
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 343
Iscrizione: giugno 2006
Distribuzione: arch
Sesso: Maschile

Re: [php] incolonnare testo

Messaggioda london3 » mercoledì 27 marzo 2019, 15:39

Eresia Immagine ha scritto:scusami ho dato per scontato l'utilizzo di php su pagina web, devi essere più preciso quando formuli un problema.

Starai scherzando?
Hai scritto volutamente "cane" con la tabulazione sulla stessa riga, mentre con gli altri nomi no, quindi hai imposto tu la regola degli 11

Io non ho imposto proprio niente.
caratteri, se vuoi un valore arbitrario puoi utilizzare la grandezza X di una finestra, ma devi utilizzare javascript non php.

Certo mettiamo d'entro anche javascript, un po' di python e un po' ruby :lol: :lol:
Computer: Lenovo ThinkPad L480
Avatar utente
london3
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 255
Iscrizione: gennaio 2014
Desktop: ubuntu:GNOME
Distribuzione: Ubuntu 19.04 x86_64

Re: [php] incolonnare testo

Messaggioda Eresia » mercoledì 27 marzo 2019, 16:27

Ti abbiamo fornito ben due spunti che possono puntare alla soluzione del problema, ora sta te essere in grado di utilizzarli. Chiudo e quoto tommy sullo studio del linguaggio, ciao
emerge --auD --oneshot life/lucky-*
Avatar utente
Eresia
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 343
Iscrizione: giugno 2006
Distribuzione: arch
Sesso: Maschile

Re: [php] incolonnare testo

Messaggioda TommyB1992 » venerdì 29 marzo 2019, 16:05

...Certo mettiamo d'entro anche javascript...


Ma che sei folle? Mischiare PHP e Javascript?
A dir poco rivoluzionario...
TommyB1992
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 700
Iscrizione: luglio 2013
Desktop: GNU/Linux
Distribuzione: Ubuntu 15.04 (i686)
Sesso: Maschile

Re: [php] incolonnare testo

Messaggioda london3 » venerdì 29 marzo 2019, 17:06

TommyB1992 Immagine ha scritto:
...Certo mettiamo d'entro anche javascript...


Ma che sei folle? Mischiare PHP e Javascript?
A dir poco rivoluzionario...

Si può far funzionare JS in ambito cli?
Computer: Lenovo ThinkPad L480
Avatar utente
london3
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 255
Iscrizione: gennaio 2014
Desktop: ubuntu:GNOME
Distribuzione: Ubuntu 19.04 x86_64


Torna a Programmazione

Chi c’è in linea

Visualizzano questa sezione: 0 utenti registrati e 7 ospiti