Asheeown Posted March 16, 2011 Share Posted March 16, 2011 I'm making this simple parser that has turned out to be not so simple. Phrases/sentences are encased in apostrophes and parsed but when they CONTAIN apostrophes, slashes are added before it is parsed. For example, if someone entered the sentence (It's a sunny day today.), the output would look like this: 'It\'s a sunny day outside' I add the apostrophes manually on the outside to separate sentences but addslashes before that to escape any existing ones so far. However, my expression below just doesn't cut it, and I can't figure out how to skip over any apostrophes that have the escape character in front of them. $regex = "/'(.*?)'/"; Quote Link to comment Share on other sites More sharing options...
JAY6390 Posted March 16, 2011 Share Posted March 16, 2011 /'(.*?)(?<!\\)'/ Quote Link to comment Share on other sites More sharing options...
Asheeown Posted March 16, 2011 Author Share Posted March 16, 2011 That regex sends back an empty array when using preg_match_all. I tried with the example I posted as well and it's the same thing. Quote Link to comment Share on other sites More sharing options...
JAY6390 Posted March 16, 2011 Share Posted March 16, 2011 Oops you need to escape the escape character twice, like so /'(.*?)(?<!\\\\)'/ Quote Link to comment Share on other sites More sharing options...
Asheeown Posted March 16, 2011 Author Share Posted March 16, 2011 Oops you need to escape the escape character twice, like so /'(.*?)(?<!\\\\)'/ Works perfectly, thank you very much. Quote Link to comment Share on other sites More sharing options...
JAY6390 Posted March 16, 2011 Share Posted March 16, 2011 no problem Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.