How to pass slash / in an URL?

1 replies
On this page there are many abbreviation / acronym entries: Acronyms & Abbreviations: D

They are generated in PHP:

PHP Code:
<a href="/define/<?php echo rawurlencode($abbreviation['title'])?>/">
    <strong><?php echo $abbreviation['title']?></strong>
</a>
I used rawurlencode because many acronyms contain bizarre characters such as #, & and even /.

And the URL requests such as:

What does DA&E stand for? - 1 Acronym Definitions & Meanings

Would first be fed to rawurldecode():

PHP Code:
$acronym rawurldecode('DA%26E'); // $acronym would be 'DA&E'. 
And then used in database queries.

While DA&E is all right, DA/C is not. Try this URL http://abbreviations.wordcrow.com/define/DA%2FC/ and you would end up with Abbreviations & Acronyms Dictionary - Find meanings and definitions of acronyms and abbreviations. which is an error page.

I can extend more code to recognize /define/DA/C/ but it's just weird and non-sensible. I tried both Chrome and Firefox and they all automatically convert DA%2FC to DA/C. But with DA%26E, they don't.

What am I doing wrong? Ain't that / already encoded into '%2F'?? Really weird. Any help would be appreciated!
#pass #slash #url
  • Dont actually try and pass a slash "/" .

    Convert the "/" into some other symbol.
    Pass the symbol, and than convert the symbol back into a "/".
    {{ DiscussionBoard.errors[3911153].message }}

Trending Topics