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... :roll:
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:

Codice: Seleziona tutto

<a href="index.php?pagina=nomepagina">etc</a>
Mentre, se vado a cliccarci sopra, mi invia ad un

Codice: Seleziona tutto

http://index.php/?pagina=nomepagina
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. :D

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... :roll:

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! :lol:
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! :lol:

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. :shock:
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...).