下面是我会做:
下把任务分成要采取分步骤:
1)发生爆炸逗号的字符串。
For 'VAR_SELECTED, \'Hello m\'lady\', "null"' this gives me
[0]=>"VAR_SELECTED"
[1]=>" \'Hello m\'lady\'"
[2]=>" "null""
For 'VAR_SELECTED, \'Hello "Father"\', "Hello \'Luke\'"' this gives me
[0]=>"VAR_SELECTED"
[1]=>" \'Hello "Father"\'"
[2]=>" "Hello \'Luke\'""
2)运行修剪在所有三个摆脱任何空白的
For 'VAR_SELECTED, \'Hello m\'lady\', "null"' this gives me
[0]=>"VAR_SELECTED"
[1]=>"\'Hello m\'lady\'"
[2]=>""null""
For 'VAR_SELECTED, \'Hello "Father"\', "Hello \'Luke\'"' this gives me
[0]=>"VAR_SELECTED"
[1]=>"\'Hello "Father"\'"
[2]=>""Hello \'Luke\'""
3)运行str_replace函数( “\”,””,$文本)摆脱斜线。 (只删除spaces..added的可读性,所以这应该是一个赤裸裸的斜线和“空”字符串)
For 'VAR_SELECTED, \'Hello m\'lady\', "null"' this gives me
[0]=>"VAR_SELECTED"
[1]=>"'Hello m'lady'"
[2]=>""null""
For 'VAR_SELECTED, \'Hello "Father"\', "Hello \'Luke\'"' this gives me
[0]=>"VAR_SELECTED"
[1]=>"'Hello "Father"'"
[2]=>""Hello 'Luke'""
4)再次运行修剪,修剪只($文字,“'”“)(移除spaces..added仅出于可读性)
For 'VAR_SELECTED, \'Hello m\'lady\', "null"' this gives me
[0]=>"VAR_SELECTED"
[1]=>"Hello m'lady"
[2]=>"null"
For 'VAR_SELECTED, \'Hello "Father"\', "Hello \'Luke\'"' this gives me
[0]=>"VAR_SELECTED"
[1]=>"Hello "Father""
[2]=>"Hello 'Luke'"
我没有测试过这一点,但逻辑是健全的。一个快速和肮脏的方式来测试所有的98%的正则表达式的(在我的经验)是使用http://rubular.com/这是一个很棒的网站。通常如果它开始在正则表达式中窒息,这是我的第一个信号,我应该更多地解决这个问题。 (这只是舆论〜穿上防火服〜)