Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità
ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità
NUC 15 Pro e NUC 15 Pro+ sono i due nuovi mini-PC di casa ASUS pensati per uffici e piccole medie imprese. Compatti, potenti e pieni di porte per la massima flessibilità, le due proposte rispondono in pieno alle esigenze attuali e future grazie a una CPU con grafica integrata, accompagnata da una NPU per la gestione di alcuni compiti AI in locale.
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint
Dal palco di Proofpoint Protect 2025 emerge la strategia per estendere la protezione dagli utenti agli agenti IA con il lancio di Satori Agents, nuove soluzioni di governance dei dati e partnership rafforzate che ridisegnano il panorama della cybersecurity
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Dopo alcuni anni di assenza dai cataloghi dei suoi televisori, Hisense riporta sul mercato una proposta OLED che punta tutto sul rapporto qualità prezzo. Hisense 55A85N è un televisore completo e versatile che riesce a convincere anche senza raggiungere le vette di televisori di altra fascia (e altro prezzo)
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


ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondo...
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint Cybersecurity: email, utenti e agenti IA, la nuo...
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti Hisense A85N: il ritorno all’OLED è convi...
Recensione Borderlands 4, tra divertimento e problemi tecnici Recensione Borderlands 4, tra divertimento e pro...
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale TCL NXTPAPER 60 Ultra: lo smartphone che trasfor...
30 anni di PlayStation da indossare: arr...
Amazon lancia gli Echo più potent...
Amazon rinnova la gamma Fire TV: ecco le...
Ring lancia le sue prime videocamere con...
Blink amplia la gamma di videocamere di ...
Jaguar Land Rover riprende (gradualmente...
HONOR inaugura il primo ALPHA Flagship S...
Yamaha: ecco il brevetto del 'finto moto...
'Console obsoleta e utenti ingannati': u...
Stop al ransomware su Google Drive, graz...
L'IA è la nuova interfaccia utent...
Battlefield 6: confermata la dimensione ...
Windows 11 porta il Wi-Fi 7 alle aziende...
Logitech MX Master 4 subito disponibile ...
'Nonna Skyrim' dice addio all'RPG di Bet...
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: 17:23.


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