fork(1) download
  1. <?php
  2.  
  3. $data = <<<DATA
  4. "foo"
  5. 'foo'
  6. abc "foo"
  7. foo "bar", "baz"
  8. abc 'foo "bar" baz'
  9. DATA;
  10.  
  11. $regex = "~
  12. '[^']*'(*SKIP)(*FAIL) # match everything between single quotes and fail
  13. | # or
  14. \"([^\"]*)\" # match double quotes
  15. ~x";
  16.  
  17. $data = preg_replace($regex, "'$1'", $data);
  18.  
  19. echo $data;
  20. ?>
Success #stdin #stdout 0.01s 52488KB
stdin
Standard input is empty
stdout
'foo'
'foo'
abc 'foo'
foo 'bar', 'baz'
abc 'foo "bar" baz'