Umm.. I am not sure about preg_replace. But you can do the same with str_replace!
<?php
$txt="' is a single quote \" is a double quote.I want to replace ' with \' and \" with \" ";
echo "Actual text: " .$txt."";
$x=str_replace('"','\"',str_replace("'","\'",$txt));
echo "Replaced text: ". $x;
?>
Hope it helps!
Naveen
nav33n
Purple hazed!
4,465 posts since Nov 2007
Reputation Points: 524
Solved Threads: 356
... I'm not entirely sure why'd you write your own function when the built-in addslashes function works perfectly well.
ShawnCplus
Code Monkey
1,583 posts since Apr 2005
Reputation Points: 526
Solved Threads: 268
... I'm not entirely sure why'd you write your own function when the built-in addslashes function works perfectly well.
Aye, I was wondering the same thing. addslashes() is slightly different - it escapes a couple of extra characters (including '\' and NUL). However, these (especially \) need to be escaped anyway.
So, to fill in the original example...
$unedited = $_POST['content'];
$content = addslashes($unedited);
However, you might be looking to learn how to use preg_replace... so we'll go back to the original example.
You can use preg_replace() like Fungus did with str_replace - sending an array as the search and replacement parameters.
The problem with your example is that you're only presenting one thing for the replacement parameter - "\'".
In order to replace ' with \' and " with \" you need to do one of a few things - perform two preg_replaces (one for each replacement), use arrays within the preg_replace, or use a variable in the regex to print the quote based on what the search found. I'm not that good with regex, so I'm not sure if you can do that... but I think you can.
Anyhow, here's an example of how you could use arrays to perform the desired function with preg_replace.
$string = "\"You're not very wise,\" said the wise man.";
$string = preg_replace(array("/'/", '/"/'), array("\'", '\"'), $string);
echo $string;
That appears to escape both the single and double quotes just fine.
Good luck,
- Walkere
Walkere
Junior Poster in Training
57 posts since Jan 2008
Reputation Points: 29
Solved Threads: 5