Salve,
ho la necessità di codificare un'URL per poter passare correttamente dei caratteri speciali al browser. Nella fattispecie il link è:
Codice:
http://127.0.0.1/pub/flatnuke/index.php?mod=02_Contenuti&file=Contratto%5Fd%27opera%0D%0A
in modo che punti ad un file di nome Contratto_d'opera, in cui il carattere _ è uguale a %5Fd ed il carattere ' è uguale a %27. Quando vado sul link, nella barra di stato del browser vedo la corretta interpretazione del collegamento, ma, quando ci clicco su ottengo:
Codice:
Warning: view_section(sections/02_Contenuti/Contratto_d\'opera ): failed to open stream: No such file or directory in f:\www_root\pub\flatnuke\functions.php on line 455
Warning: view_section(): Failed opening 'sections/02_Contenuti/Contratto_d\'opera ' for inclusion (include_path='.;G:\Programmi\EasyPHP1-7\php\pear\') in f:\www_root\pub\flatnuke\functions.php on line 455
cioé il link viene interpretato con l'aggiunta del backslash prima dell'apostrofo (lo standard php per l'inserimento di caratteri speciali). Il problema si presenta in maniera identica anche usando l'entità HTML oppure scrivendo d\'opera come indicato nel Php. Una curiosità: usando un carattere simile. cioé l'accento acuto (codice ASCII esteso, codifica %B4%0D%0A) va tutto a posto.
Qualche idea?