【发布时间】:2011-06-29 19:58:32
【问题描述】:
我正在使用 preg_split 来制作包含一些值的数组。 如果我有诸如 'This*Value' 之类的值,preg_split 会将值拆分为 array('This', 'Value') 因为值中有 *,但我想将它拆分到我指定的位置,而不是* from the value.如何才能对值进行转义,使字符串中的符号不对表达式生效?
例子:
// Cut into {$1:$2}
$str = "{Some:Value*Here}";
$result = preg_split("/[\{(.*)\:(.*)\}]+/", $str, -1, PREG_SPLIT_NO_EMPTY);
// Result:
Array(
'Some',
'Value',
'Here'
);
// Results wanted:
Array(
'Some',
'Value*Here'
);
【问题讨论】:
-
你能说得更具体点吗?字符串是什么,你想把它分成什么?
-
只是不要在拆分正则表达式中使用
*?或者您的意思是您想使用*作为分隔符,但也允许在字符串内的各个值中使用它? -
是的,Marc B.我想用*分割,但也在值中使用它,不分割值。
-
请添加示例文本。从您的示例中,我们无法区分分隔符和
*值。
标签: php regex escaping character