Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare
Mova Z70 Ultra Complete è un robot aspirapolvere che coniuga un'aspirazione potente e un lavaggio con rullo a logica di intelligenza artificiale che guida al meglio nella pulizia di casa: rulli e spazzole estensibili a pulire gli angoli e una base di ricarica che lava e ripristina il robot al emglio delle sue funzionalità dopo ogni azione di pulizia
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre
Abbiamo provato Google Pixel 11, il più accessibile della nuova gamma: chip Tensor G6 condiviso con i modelli Pro, fotocamera 48 MP con Magic Capture e Stili Fotografici, display Actua da 3000 nit e batteria da 4985 mAh. Ecco come si comporta nell'uso quotidiano, e cosa cambia davvero rispetto a Pixel 11 Pro e Pro XL
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship
Google Pixel 11 Pro XL debutta in Italia con il nuovo Tensor G6, lo Zoom Pro fino a 120x, il display Super Actua da 3600 nit e la new entry HiLight riservata ai modelli Pro: lo abbiamo provato in anteprima per diversi giorni prima del lancio commerciale, tra fotocamera generativa, ricarica ancora indietro rispetto ai rivali e un prezzo che parte da 1399 euro
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-09-2005, 16:08   #1
firefox88
Senior Member
 
Iscritto dal: Oct 2004
Messaggi: 595
Ho bisogno di uno script...

Salve a tutti,

ho bisogno di uno script per il mio blog, e ho pensato di chiedere a voi che siete sempre così gentili!

Il problema è questo: per ragioni di sicurezza, non autorizzo l'inserimento di codice HTML nei commenti. Ovvero, quando un utente scrive un commento, esso viene elaborato da un'apposita funzione che converte "<" e ">" in entità HTML, cosicché il browser non le interpreti come tag.

Tuttavia, vorrei dare alla possibilità agli utenti di inserire link cliccabili nei commenti. Perciò ho creato questa funzione:

Codice PHP:
function crea_link($testo) {
        
$testo ereg_replace('http([^\ <>]+)','<a href="http\\1">http\\1</a>',$testo);
        return 
$testo;

In questo modo se l'utente inserisce un link viene trasformato in un link cliccabile (<a href=...).

Ed ecco il punto: se gli utenti inseriscono link troppo lunghi, mi sfaldano il design del sito, allargando la tabella oltre la misura appropriata. Perciò mi serve che la funzione "tagli" i link dopo il 30° carattere, un po' come fa questo forum

Ma come posso fare????

Grazie
firefox88 è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2005, 19:28   #2
firefox88
Senior Member
 
Iscritto dal: Oct 2004
Messaggi: 595
up
firefox88 è offline   Rispondi citando il messaggio o parte di esso
Old 17-09-2005, 02:09   #3
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
perchè onn usi qualcosa del tipo:

Codice PHP:
$len 30//lunghezza massima
$append "...";
if(
strlen($testo) > $len) {
  
$testo substr($testo0$len);
  
$testo .= $append;
}

.... 
ovviamente il controllo dovrà essere fatto sull'etichetta del link, non su tutta la stringa
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 17-09-2005, 06:39   #4
firefox88
Senior Member
 
Iscritto dal: Oct 2004
Messaggi: 595
Quote:
Originariamente inviato da Gremo
perchè onn usi qualcosa del tipo:

Codice PHP:
$len 30//lunghezza massima
$append "...";
if(
strlen($testo) > $len) {
  
$testo substr($testo0$len);
  
$testo .= $append;
}

.... 
ovviamente il controllo dovrà essere fatto sull'etichetta del link, non su tutta la stringa
E' chiaro. Il punto è che tu dai per scontato che $testo è solo un link. Invece è un testo vero e proprio, contenente dei link.
firefox88 è offline   Rispondi citando il messaggio o parte di esso
Old 17-09-2005, 08:05   #5
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
Quote:
Originariamente inviato da firefox88
E' chiaro. Il punto è che tu dai per scontato che $testo è solo un link. Invece è un testo vero e proprio, contenente dei link.
'giorno!
immaginavo che non chiedevi questo
consideralo come un up
se mi viene in mente qualcosa...

ps. posteresti lo script per sostituire i < > ? ne ho bisogno proprio in questo momento
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 17-09-2005, 08:45   #6
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
idea poco elegante:
con ereg_replace sostituisci tutti i tag <a href=""... (che ovviamente devono seguire uno schema) con STARTAG, e tutti gli </a> con ENDTAG
dopo in modo ricorsivo usando strpos e substr estrapoli le etichette e fai il controllo sulla loro lunghezza, eventualmente accorciando e sostituendo

non sarà bello ma funziona (penso)
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2005, 08:13   #7
firefox88
Senior Member
 
Iscritto dal: Oct 2004
Messaggi: 595
Per rendere i tag HTML inutili e trasformarli in entità HTML la funzione PHP è questa:

string htmlspecialchars ( string string [, int quote_style [, string charset]] )

http://it.php.net/manual/it/function.htmlentities.php


Quote:
con ereg_replace sostituisci tutti i tag <a href=""... (che ovviamente devono seguire uno schema) con STARTAG, e tutti gli </a> con ENDTAG
Non ho bisogno di sostituire gli <a href...> Devo individuare i link, trasformarli in link cliccabili aggiungendovi <a href...> dopo averli tagliati se più lunghi di 30 caratteri.
firefox88 è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2005, 08:28   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Fammi capire...$testo cosa ti ritorna in une esempio tipico di utilizzo ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2005, 09:03   #9
firefox88
Senior Member
 
Iscritto dal: Oct 2004
Messaggi: 595
Quote:
Originariamente inviato da cionci
Fammi capire...$testo cosa ti ritorna in une esempio tipico di utilizzo ?
Non ho capito la domanda. Nel primo post, comunque, è spiegato nel dettaglio tutto quello di cui ho bisogno.
firefox88 è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2005, 17:33   #10
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
Quote:
Originariamente inviato da firefox88
Non ho bisogno di sostituire gli <a href...> Devo individuare i link, trasformarli in link cliccabili aggiungendovi <a href...> dopo averli tagliati se più lunghi di 30 caratteri.
in senso più in generale, io intendevo dire che ti serve individuare dove inizia il tag "a" e dove finisce...per poter isolare l'etichetta e fare quello che vuoi tu...
ereg utilizzando le espressioni regolari lo usi per cercare il pattern <a href="qualsiasicosaquaderntro" alt="qualsiasicosa"> di inizio etichetta
e </a> di fine etichetta.
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2005, 17:45   #11
firefox88
Senior Member
 
Iscritto dal: Oct 2004
Messaggi: 595
Quote:
Originariamente inviato da Gremo
in senso più in generale, io intendevo dire che ti serve individuare dove inizia il tag "a" e dove finisce...per poter isolare l'etichetta e fare quello che vuoi tu...
ereg utilizzando le espressioni regolari lo usi per cercare il pattern <a href="qualsiasicosaquaderntro" alt="qualsiasicosa"> di inizio etichetta
e </a> di fine etichetta.
Bene.

Ma il link <a href="...">...</a> non esiste, pertanto non mi serve individuarlo.

Io voglio che i link inseriti semplicemente come percorsi (quindi senza <a href=...> e perciò NON cliccabili), vengano trasformati in link veri e propri. E questo sono riuscito a farlo. Tuttavia, qualora il percorso del link superasse i 30 caratteri, desidero non renderlo completamente visibile in tutta la sua spropositata lunghezza, troncandolo e aggiungendo tre puntini alla fine. Esattamente come fa questo forum. E questo NON sono riuscito a farlo.


Chiaro?

Se non cercate di capire, è difficile che mi possiate aiutare.

1) Se sono io che non riesco a farmi capire, ditelo e cercherò di spiegarmi meglio.
2) Se invece sono stato io ad avervi frainteso, vi chiedo gentilmente di esprimervi con maggiore chiarezza.

Grazie.

Ultima modifica di firefox88 : 18-09-2005 alle 17:50.
firefox88 è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2005, 19:18   #12
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Allora così ?
Codice PHP:
function crea_link($testo) {
        
$testo ereg_replace('http([^\ <>]+)','<a href="http\\1">http\\1</a>',$testo);

        
$testo '<a href="$testo">'substr($testo012) .'......'substr($testostrlen($testo)-12) .'</a>';
       return 
$testo;

cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2005, 19:46   #13
firefox88
Senior Member
 
Iscritto dal: Oct 2004
Messaggi: 595
Elimino il mio post e mi scuso pubblicamente per quanto scritto. Ho avuto una reazione eccessiva.

Ultima modifica di firefox88 : 18-09-2005 alle 22:36.
firefox88 è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2005, 19:53   #14
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
io starei un pò più calmo
se la gente ti risponde lo fa senza guadagnarci niente e solo per aiutarti.
se poi siamo in 2 ad aver capito male, il dubbio che possa essere tu quello che non si esprime bene non ti sorge?

buon proseguimento
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2005, 19:57   #15
firefox88
Senior Member
 
Iscritto dal: Oct 2004
Messaggi: 595
Elimino il mio post e mi scuso pubblicamente per quanto scritto. Ho avuto una reazione eccessiva.

Ultima modifica di firefox88 : 18-09-2005 alle 22:36.
firefox88 è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2005, 22:22   #16
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da firefox88
Vediamo se qualcuno prima di rispondere si mette a leggere le cose che ho scritto.
Quote:
Originariamente inviato da firefox88
Io sono calmissimo. E, proprio perché non ricevete alcun compenso,
il vostro tempo mi sta a cuore e mi dispiace che vada perduto
nel dare delle risposte a vanvera. Una risposta come quella di cionci
è la dimostrazione esemplare del fatto che non ha letto nulla.

E comunque mi sembra di essere stato molto chiaro nell'esporre la questione. E sono stanco di ripeterla.
Ma guarda che presuntuoso... Stai tranquillo che di risposte da me non ne riceverai altre...
Se non ti sai spiegare e non sai leggere (prima inffatti ti avevo chiesto cosa ritornavi in $testo) non è colpa mia...
E' la prima volta in anni di forum che uno mi risponde così... Vai...vai pure in un altro forum...almeno ti levi dalle scatole... Addio
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre Recensione Google Pixel 11: non ha l'HiLight dei...
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship Google Pixel 11 Pro XL: fotocamera al top, batte...
Non sai programmare? Ecco cosa si può fare con un LLM e una GeForce RTX 5070 Ti Non sai programmare? Ecco cosa si può far...
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto Recensione Samsung Galaxy Z Fold8 Ultra: il pieg...
Torna il super doppio sconto sulle e-bik...
Offerte Amazon componenti PC: RTX 5060 T...
Crucial Pro DDR5 da 32GB a 389,99€: perc...
Fable 5, il modello più potente d...
PC all-in-one Lenovo super elegante, per...
Lo Smart TV più venduto su Amazon...
Periferiche gaming in offerta su Amazon:...
L'IA non è una bolla, ma pu&ograv...
Il cinema in salotto: oggi TV Xiaomi QLE...
Passa a ho. Mobile, fino a fine agosto c...
Ai Giochi di Pechino i robot prendono fu...
Arianespace Ariane 6: lanciato il satell...
Starship: la nave Forte ha caricato Ship...
ROCm 10 punta sull'AI agentica: AMD auto...
Meta cambia la privacy degli AI Glasses:...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 23:23.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v