|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
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:
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 |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2004
Messaggi: 595
|
up
![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
|
perchè onn usi qualcosa del tipo:
Codice PHP:
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Oct 2004
Messaggi: 595
|
Quote:
|
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
|
Quote:
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 ![]() |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
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) |
![]() |
![]() |
![]() |
#7 | |
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:
|
|
![]() |
![]() |
![]() |
#8 |
Senior Member
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 ?
|
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Oct 2004
Messaggi: 595
|
Quote:
|
|
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
|
Quote:
ereg utilizzando le espressioni regolari lo usi per cercare il pattern <a href="qualsiasicosaquaderntro" alt="qualsiasicosa"> di inizio etichetta e </a> di fine etichetta. |
|
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Oct 2004
Messaggi: 595
|
Quote:
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. |
|
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Allora così ?
Codice PHP:
|
![]() |
![]() |
![]() |
#13 |
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. |
![]() |
![]() |
![]() |
#14 |
Senior Member
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 |
![]() |
![]() |
![]() |
#15 |
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. |
![]() |
![]() |
![]() |
#16 | ||
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Quote:
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 ![]() |
||
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:36.