Pagina 1 di 1
[php] Slash dal nulla [risolto]
Inviato: mar 4 mar 2008, 12:59
da aschenaz
Ora non capisco se è un problema php o javascript...
E' una cosa abbastanza strana: ho un form con delle textarea dove ho previsto una specie di piccolo editor in javascript, che, tra le altre cose, inserisce dei link ...
Codice: Seleziona tutto
onclick="document.forms[0].nomecampo.value+='<a href="http://index.php?pagina=nomepagina">etc.</a>';document.forms[0].nomecampo.focus()"
Poi quando richiamo quel testo dal database, se guardo il sorgente della pagina, è ok:
Mentre, se vado a cliccarci sopra, mi invia ad un
aggiungendo quello slash prima di ? e dandomi, naturalmente, errore di percorso.
Ho provato a sostituire gli slash e anche il ? con i relativi codici, ho provato a spezzare la stringa, ho provato anche a backslashare ?, ma non c'è stato niente da fare.
Come si spiega sta cosa? Ci sto impazzendo...

Re: [php] Slash dal nulla
Inviato: mar 4 mar 2008, 13:15
da sardylan
Ciao...
Dovresti provare ad inserire in PHP le funzioni addslashes(); per aggiungere gli slash nei caratteri speciali e striplslashes(); per rimuoverli...
Vediti le guide delle funioni in
http://it.php.net e facci sapere..
Re: [php] Slash dal nulla
Inviato: mar 4 mar 2008, 13:20
da aschenaz
Si, da questo punto di vista, ho fatto tutto.
E poi, non è un \ che visualizza, ma uno /...
Inoltre, non mi spiego il fatto che, nel sorgente, è visualizzato correttamente...
Re: [php] Slash dal nulla
Inviato: mar 4 mar 2008, 13:33
da sardylan
Ma non è che è un problemino di browser??? Se mi dai l'indirizzo lo posso provare io...
Re: [php] Slash dal nulla
Inviato: mar 4 mar 2008, 14:02
da aschenaz
sardylan ha scritto:Ma non è che è un problemino di browser??? Se mi dai l'indirizzo lo posso provare io...
Per ora sto provando in locale.
Ho provato anche con IE (sto sotto win): stesso risultato.
Re: [php] Slash dal nulla
Inviato: mar 4 mar 2008, 14:09
da aschenaz
Risolto, ma in una maniera curiosa: ho semplicemente tolto
http//.
Bohhh, l'importante è che ora funziona.

Re: [php] Slash dal nulla [risolto]
Inviato: mar 4 mar 2008, 14:25
da sardylan
Perfetto...
Re: [php] Slash dal nulla [risolto]
Inviato: mar 4 mar 2008, 16:35
da conraid
Perché curioso, se metti http dopo devi mettere un URI, ed infatti come dici togliendo http tutto torna.
Puoi usare tre modi nel anchor link
- URI
- PATH assoluto
- PATH relativo
http://index.php non è nessuno dei tre, ma il browser poverino non può sapere cosa volevi fare e prende index.php come un dominio e ci aggiunge il resto
Re: [php] Slash dal nulla [risolto]
Inviato: mar 4 mar 2008, 21:02
da aschenaz
conraid ha scritto:Perché curioso, se metti http dopo devi mettere un URI, ed infatti come dici togliendo http tutto torna.
Puoi usare tre modi nel anchor link
- URI
- PATH assoluto
- PATH relativo
http://index.php non è nessuno dei tre, ma il browser poverino non può sapere cosa volevi fare e prende index.php come un dominio e ci aggiunge il resto
Si, a mente fredda ci sono arrivato; siccome nell'editor ci sono link esterni, link interni e immagini, avevo fatto una funzione unica per aggiungere il testo e lì sorgeva l'errore...
Per restare in tema di editor per i campi testo, è complesso aggiungere controlli tipo BBcode? Io, in genere, mi limito a qualche riga di javascript, come in questo caso.
La cosa più seccante è che le aggiunte le fa solo a fine testo...

Re: [php] Slash dal nulla [risolto]
Inviato: mer 5 mar 2008, 7:13
da conraid
Non conosco javascript tanto da risponderti, la gestione dei BBcode o di altri pseudocode in php non è difficile per iniziare bastano dei controlli sul codice con delle regexp anche se non è la via migliore, ma penso che esistano librerie per questo. Ma perché non usi qualche editor JS già pronto? Non ti risparmi tempo? O lo stai facendo per didattica?
Re: [php] Slash dal nulla [risolto]
Inviato: mer 5 mar 2008, 7:25
da aschenaz
conraid ha scritto:Non conosco javascript tanto da risponderti, la gestione dei BBcode o di altri pseudocode in php non è difficile per iniziare bastano dei controlli sul codice con delle regexp anche se non è la via migliore, ma penso che esistano librerie per questo. Ma perché non usi qualche editor JS già pronto? Non ti risparmi tempo? O lo stai facendo per didattica?
E' che sono fissato sul far tutto da me!
E' sia una questione di orgoglio personale, sia un'esigenza di avere tutto sotto diretto controllo.
Ma se poi devo chiedere aiuto, come i questo caso, è meglio lasciar almeno perdere lo stupido orgoglio!

Re: [php] Slash dal nulla [risolto]
Inviato: mer 5 mar 2008, 7:29
da conraid
Beh, se vuoi iniziare a fare un parser per BBcode fallo, ma esistono anche classi in PEAR per questo
http://pear.php.net/package/HTML_BBCodeParser
Al limite prendi spunto.
I controlli regexp vanno bene fino ad un certo punto, invece questi parser controllano ogni parola, annidano, trovano mancanze, tramite alberi o filtri vari. Riniziare è un lavoro lungo e noioso IMHO
Per gli editor javascript idem come sopra.
Far tutto da se è bello, ma una vecchia regola unix dice "perché fare nuovamente ciò che è già stato fatto?"

Re: [php] Slash dal nulla [risolto]
Inviato: mer 5 mar 2008, 11:57
da aschenaz
Grazie Conraid!
Ho scaricato il parser.
Ci rinuncio. E' un mare di roba, quando a me bastano due righe di javascript.
E poi non sono sicuro di ottenere quello che voglio: oltre ad una blanda formattazione del testo, devo permettere all'utente di inserire link esterni, link interni e link ad immagini con estrema facilità. L'unica pecca, come dicevo, è che, mantenendo tale leggerezza nel codice, il testo viene aggiunto sempre alla fine del testo (ma, in fondo, anche sul phpBB, nella versione precedente a questa, era così con tutto il bbcode...).