Il linguaggio di programmazione PHP
 

Andare a capo con la sillabazione

Sandro kensan 6 Mar 2017 00:17
Non mi pare che ci sia una istruzione php che permetta di andare a capo
con la sillabazione.

Esempio:
precipitevolissimevolmente -> pre-ci-pi-te-vo-lis-si-me-vol-men-te

A capo:
precipite-
volissime-
volmente

e anche se ci fosse si sarebbe un problema ulteriore che all'inizio non
ho considerato ovvero aggiungere il trattino quando la parola non ci
sta. (1)

In più non ho considerato che c'è una competizione tra lo spazio e l'a
capo per sillabazione ed occorre introdurre una gerarchia. (2)

Per adesso ho fatto così solo per il titolo H1:
http://www.kensan.it/extra/argomenti/visualizza_tag.php?tag=3.2.1

che va a capo ma i problemi (1) e (2) permangono: ci sono soluzioni?

Solare fotovoltaico (va a capo se la pagina viene ristretta).
--
Sandro kensan www.kensan.it & www.qiqi.it geek site
Saluto gli agenti della NSA - Hello NSA - www.nsa.gov
Sandro kensan 6 Mar 2017 09:49
On 06/03/2017 00:17, Sandro kensan wrote:
> Non mi pare che ci sia una istruzione php che permetta di andare a capo
> con la sillabazione.

Errore grossolano mio, non ho cercato abbastanza ma invece esiste
l'istruzione css per l'hyphens:

style="-webkit-hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto;
hyphens: auto;"

Peccato che (mi pare di avere capito) Chrome sia poco compatibile e pure
il browser android dove ci sarebbe più necessità.

Comunque i CSS credo siano ot qui.

--
Sandro kensan www.kensan.it & www.qiqi.it geek site
Saluto gli agenti della NSA - Hello NSA - www.nsa.gov
fmigliori 6 Mar 2017 18:29
> Errore grossolano mio...

Non è detto.
Un dettaglio non indifferente nella sillabazione è la ******* che css3 non
considera minimamente.
Ho visto che i browser non hanno problemi a sillabare l'inglese, per tutte le
altre lingue è stato introdotto nello standard HTML il tag ­, che va
benissimo (mica tanto) per chi si scrive due paginette in html, ma in situazioni
più organizzate è un delirio.
Il che mi ha fatto ritenere che magari php avesse già una funzione apposita,
che non ho trovato, ho cercato quindi una libreria e non trovai nemmeno quella.

Le cose sono due, ho dal tag <html> il browser ricava la ******* e da lì la
sillabazione, pessimo per chi ha un blog di programmazione o per chi riporta
testi in lingue diverse dalla propria, ho mi sono perso qualche pezzo importante
per strada.

La mia fortuna è che non ho mai avuto bisogno.
Sandro kensan 6 Mar 2017 18:49
On 06/03/2017 18:29, fmigliori wrote:
>
>> Errore grossolano mio...
>
> Non è detto.
> Un dettaglio non indifferente nella sillabazione è la ******* che css3 non
considera minimamente.
> Ho visto che i browser non hanno problemi a sillabare l'inglese, per tutte le
altre lingue è stato introdotto nello standard HTML il tag &shy;, che va
benissimo (mica tanto) per chi si scrive due paginette in html, ma in situazioni
più organizzate è un delirio.
> Il che mi ha fatto ritenere che magari php avesse già una funzione apposita,
che non ho trovato, ho cercato quindi una libreria e non trovai nemmeno quella.
>
> Le cose sono due, ho dal tag <html> il browser ricava la ******* e da lì la
sillabazione, pessimo per chi ha un blog di programmazione o per chi riporta
testi in lingue diverse dalla propria, ho mi sono perso qualche pezzo importante
per strada.
>
> La mia fortuna è che non ho mai avuto bisogno.

Non ho capito molto del tuo discorso ma se il dubbio è se la
sillabazione richiede il settaggio della ******* allora la risposta è
affermativa. Se non si setta <html lang="it"> allora la sillabazione non
funziona (ho commesso questa trascuratezza più volte e non avveniva
alcuna sillabazione).

Per quanto riguarda una libreria allora questa esiste e si chiama class
phpSillaba ma funziona su singole stringhe e quindi è molto difficile
usarla su un intero sito in quanto occorre scrivere il codice per
filtrare tutte le stringhe che escono con un echo e tutto l'html che fa
uscire il testo.

Poi phpSillaba trasforma solo una parola in pa-ro-la e quindi necessita
di js per fare andare a capo con la sillabazione tipo:

pa-
ro-
la.

non so come si faccia col js ma potrebbe essere possibile.

--
Sandro kensan www.kensan.it & www.qiqi.it geek site
Saluto gli agenti della NSA - Hello NSA - www.nsa.gov
Sandro kensan 6 Mar 2017 18:56
On 06/03/2017 18:29, fmigliori wrote:
>
>> Errore grossolano mio...
>
> Non è detto. Un dettaglio non indifferente nella sillabazione è la
> ******* che css3 non considera minimamente. Ho visto che i browser non
> hanno problemi a sillabare l'inglese, per tutte le altre lingue è
> stato introdotto nello standard HTML il tag &shy;, che va benissimo
> (mica tanto) per chi si scrive due paginette in html, ma in
> situazioni più organizzate è un delirio.

Mi sono informato. Shy pare sia un soft hyphenation, in pratica un
trattino di sillabazione. Immagino che dopo avere sillabato usando il
trattino shy il testo di interesse, poi il browser si arrangi ad andare
a capo in modo corretto aggiungendo un trattino visibile al posto dello
shy a fine riga.
--
Sandro kensan www.kensan.it & www.qiqi.it geek site
Saluto gli agenti della NSA - Hello NSA - www.nsa.gov
fmigliori 6 Mar 2017 20:46
> Mi sono informato. Shy pare sia un soft hyphenation, in pratica un
> trattino di sillabazione. Immagino che dopo avere sillabato usando il
> trattino shy il testo di interesse, poi il browser si arrangi ad andare
> a capo in modo corretto aggiungendo un trattino visibile al posto dello
> shy a fine riga.

Si, devi mettere l'entità tra le sillabe di tutte le parole perché non
puoi prevedere quale e dove verrà tagliata, per questo cercavo uno
script o altro che svolgesse tale simpatico lavoro.

Però il problema è (parzialmente?) superato perché anche io mi sono informato

meglio e ho visto che il parametro lang può essere posizionato in altri
tag oltre ad <html> permettendo così la sillabazione in pagine multilingue
gestita direttamente dal browser.

Per quanto riguarda la libreria in php ho trovato php-sillabe
(https://github.com/Jerkiller/php-sillabe), ma è solo in italiano e
non credo sia completa, per cui se vuoi superare le lacune di certi
browser la vedo dura.







Il giorno lunedì 6 marzo 2017 18:56:29 UTC+1, Sandro kensan ha scritto:
> On 06/03/2017 18:29, fmigliori wrote:
>>
>>> Errore grossolano mio...
>>
>> Non è detto. Un dettaglio non indifferente nella sillabazione è la
>> ******* che css3 non considera minimamente. Ho visto che i browser non
>> hanno problemi a sillabare l'inglese, per tutte le altre lingue è
>> stato introdotto nello standard HTML il tag &shy;, che va benissimo
>> (mica tanto) per chi si scrive due paginette in html, ma in
>> situazioni più organizzate è un delirio.
>
> Mi sono informato. Shy pare sia un soft hyphenation, in pratica un
> trattino di sillabazione. Immagino che dopo avere sillabato usando il
> trattino shy il testo di interesse, poi il browser si arrangi ad andare
> a capo in modo corretto aggiungendo un trattino visibile al posto dello
> shy a fine riga.
> --
> Sandro kensan www.kensan.it & www.qiqi.it geek site
> Saluto gli agenti della NSA - Hello NSA - www.nsa.gov
Sandro kensan 6 Mar 2017 21:07
On 06/03/2017 20:46, fmigliori wrote:

> Per quanto riguarda la libreria in php ho trovato php-sillabe
> (https://github.com/Jerkiller/php-sillabe), ma è solo in italiano e
> non credo sia completa, per cui se vuoi superare le lacune di certi
> browser la vedo dura.

L'ho usato e mi pare funzioni, forse non sarà perfetto ma comprende
molti casi. Il problema è che usa i trattini e che è un lavoraccio
sostituirli con lo shy: il codice php è inzuppato di trattini che vanno
tutti sostituiti.

Comunque io uso l'hyphenation anche se non è compatibile con tutti i
browser. In futuro sarà compatibile :)

--
Sandro kensan www.kensan.it & www.qiqi.it geek site
Saluto gli agenti della NSA - Hello NSA - www.nsa.gov
fmigliori 6 Mar 2017 21:45
Il giorno lunedì 6 marzo 2017 21:08:00 UTC+1, Sandro kensan ha scritto:
> On 06/03/2017 20:46, fmigliori wrote:
>
>> Per quanto riguarda la libreria in php ho trovato php-sillabe
>> (https://github.com/Jerkiller/php-sillabe), ma è solo in italiano e
>> non credo sia completa, per cui se vuoi superare le lacune di certi
>> browser la vedo dura.
>
> L'ho usato e mi pare funzioni, forse non sarà perfetto ma comprende
> molti casi. Il problema è che usa i trattini e che è un lavoraccio
> sostituirli con lo shy: il codice php è inzuppato di trattini che vanno
> tutti sostituiti.


Andrebbe modificato lo script mettendo una proprietà
della classe e usare quella al posto del trattino *****coded.

ma per ora accontentati di questo

$testopreservato =str_replace('-','**[trattino]**',$testooriginale);
//preservazione trattini
$testosillabato = $sillaba->...($testopreservato);
$testofinale = str_replace(array('-','**[trattino]**'),array('&shy;','-'),
$testosillabato);

>Comunque io uso l'hyphenation anche se non è compatibile con tutti i
>browser. In futuro sarà compatibile :)

Che è forse la cosa migliore anche se perdi gli android
Sandro kensan 6 Mar 2017 23:05
On 06/03/2017 21:45, fmigliori wrote:

> Andrebbe modificato lo script mettendo una proprietà
> della classe e usare quella al posto del trattino *****coded.
>
> ma per ora accontentati di questo
>
> $testopreservato =str_replace('-','**[trattino]**',$testooriginale);
//preservazione trattini
> $testosillabato = $sillaba->...($testopreservato);
> $testofinale = str_replace(array('-','**[trattino]**'),array('&shy;','-'),
$testosillabato);

Buona idea, non ci avevo pensato, infatti il mio problema era
"e-commerce" e per evitare questo ho fatto un trova-sostituisci nella
classe evitando i pochi casi in cui il trattino aveva un altro scopo per
esempio "[a-z]" nelle regular expression.

Comunque faccio notare che "**[trattino]**" diventa forse
"**[trat&shy;ti&shy;no]**".


>> Comunque io uso l'hyphenation anche se non è compatibile con tutti i
>> browser. In futuro sarà compatibile :)
>
> Che è forse la cosa migliore anche se perdi gli android

Esatto, gli android, funziona solo su Firefox perché ce l'ho sul mio
smartphone ma per il browser stock degli android dovrò aspettare che
diventino compatibili. Però nessuno si accorgerà di nulla, con android
vedranno le parole non sillabate come al solito.

Ho sentito che pure Chrome (per desktop?) non è compatibile: è vero?

--
Sandro kensan www.kensan.it & www.qiqi.it geek site
Saluto gli agenti della NSA - Hello NSA - www.nsa.gov
Sandro kensan 6 Mar 2017 23:37
> On 06/03/2017 21:45, fmigliori wrote:

>> Che è forse la cosa migliore anche se perdi gli android

Pare che gli android non siano persi e neppure i Mac:

https://bugs.chromium.org/p/chromium/issues/detail?id=605840

Invece sono persi i windows in quanto la MS non offre un modo per
accedere al dizionario dove c'è la sillabazione (API).

--
Sandro kensan www.kensan.it & www.qiqi.it geek site
Saluto gli agenti della NSA - Hello NSA - www.nsa.gov
ciccio 7 Mar 2017 09:23
fmigliori <fmigliori@gmail.com> ha scritto:

CUT
> Le cose sono due, ho dal tag <html> il browser ricava la ******* e da lì la
sillabazione, pessimo per chi ha un blog di programmazione o per chi riporta
testi in lingue diverse dalla propria, ho mi sono perso qualche pezzo
importante per strada.

.."ho" c'è bisogno urgente di un corso di grammatica italiana... ;-D

> La mia fortuna è che non ho mai avuto bisogno.

..Ma vedi sopra...

Links
Giochi online
Dizionario sinonimi
Leggi e codici
Ricette
Testi
Webmatica
Hosting gratis
   
 

Il linguaggio di programmazione PHP | Tutti i gruppi | it.comp.www.php | Notizie e discussioni php | Php Mobile | Servizio di consultazione news.