I am trying to sanitize my URL, and the
$teststring = $row['story_title'];
$sanitized_test = str_replace("'", "~", $teststring);
echo $teststring . " versus " . $sanitized_test;
'''' versus ''''
'''' versus ~~~~
$teststring = "''''";
The problem was,
htmlentities. I had forgotten that for security reasons I was sanitizing the input of the data into a database with html entities, among other functions. When I was testing I just assumed to check what the value of
$row['story_title'] was by printing it, and you know what they say about assumptions.
It came to me after I made a duplicate array with the same process and it worked. Went to check my database and there it was, "
''''". Oops! Essentially the issue was it wasn't finding any of the single quotes i was trying to match from that string, however when one prints that string it will show quotes.
Ultimately I changed my code to
$sanitized_test = str_replace("'", "~", $row['story_id']); and voila! It works.