I'm looking to sanitize admin form input for update_option. The input is for a directory path and file name. The input will look like this:




So far, every sanitize I've tried strips out the forward slashes. Any suggestions?


The function that you would want to use is sanitize_text_field() which among other things, strips all HTML tags, and remove line breaks, tabs and extra white space.

// This worked fine for me - I got /directory/subdirectory/
$value = sanitize_text_field( '/directory/subdirectory/' );

// And so does this one - I got /thisfile.min.js
$value = sanitize_text_field( '/thisfile.min.js' );

// Even with an actual form input (e.g. <input name="my_field">),
// the function worked just fine (using the same data as above).
$value = sanitize_text_field( $_POST['my_field'] );

So have you already tried that function and are you sure it stripped the /? How about the other similar functions listed here?

  • 1
    Thanks. Knew about sanitize_text_field but I was so focused on the fact this was being stored as an option that it never popped into my head. I was going through various sanitize_option and failing to find one that worked and actually sanitized.
    – uPrompt
    Nov 28 '20 at 17:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.