Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Abbiamo provato Samsung Galaxy Tab S12 Ultra nella versione 12 GB + 256 GB con tastiera, e il risultato è un tablet che in questa configurazione si comporta come un notebook con la fluidità tipica di Android. Spessore di 5,1 mm, display Dynamic AMOLED 2X da 14,6 pollici, MediaTek Dimensity 9500 e un software senza incertezze compongono un prodotto di vertice, con prezzi da 1.539 euro, frenato solo da un'autonomia nella parte bassa del confronto
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Abbiamo provato per dieci giorni la Hyundai IONIQ 5 N, con 650 CV, 770 Nm e uno 0-100 km/h in 3,4 secondi. Il suo punto forte è N e-Shift, che simula un cambio a otto rapporti con suoni da motore termico e perfino un bang supersonico
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-09-2005, 17: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, 20: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, 03: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($testo, 0, $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, 07: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($testo, 0, $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, 09: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, 09: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, 09: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, 09: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, 10: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, 18: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, 18: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 18:50.
firefox88 è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2005, 20: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($testo, 0, 12) .'......'. substr($testo, strlen($testo)-12) .'</a>';
       return 
$testo;
} 
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2005, 20: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 23:36.
firefox88 è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2005, 20: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, 20: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 23:36.
firefox88 è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2005, 23: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


DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale CES Unveiled Milan, l'IA diventa tecnologia fond...
 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP Recensione OPPO Find X10 Pro Max: un top di gam...
Google DeepMind presenta Genie 4, il mod...
Beats Studio Pro a 179€ in 3 colori, sup...
Oracle affida agli agenti di IA l'implem...
CO2 atmosferica a livello record nel 202...
Un portatile per i militari, ma con un o...
Discord, i messaggi di oltre 63.000 serv...
Nascosto nei meandri di Amazon, questo p...
Motorola Moto Buds 2 a 39,90€: prezzo di...
Due schede Raspberry Pi mai annunciate n...
Microfono gaming Yeti GX a 72,19€: -44% ...
PagoPA, false multe da 198 euro arrivano...
107,99€ su Amazon da stamattina: prezzo...
Cowboy Space Corp. presenta il suo razzo...
Per NetSuite il vantaggio nell'IA sta ne...
Scoperta la zona d'origine del segnale W...
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: 09:28.


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