使用php的preg_split以分号分解字符串

时间:2012-12-03 11:48:50

标签: php regex string split preg-split

我有这个字符串(它是一个苹果.strings文件):

/* this is a comment line; it may contain semicolons */
"you have here some text; also may contain semicolons" = "some other text;";

/* this is a comment line; it may contain semicolons */
"you have here some text; also may contain semicolons" = "some other text;";

等等。

我需要在每条非注释行末尾的分号后拆分此字符串。

如果我使用explode(";\n", $string);可能不准确,因为该行可以以;(空格)(新行)结尾

更新: 输出应该是一个数组。每个元素应包含注释行(如果存在)和引用的字符串行。

2 个答案:

答案 0 :(得分:1)

如果你只关心可选的空格,你可能会相处

$array = preg_split("/;\s*\n/", $string); 

preg_split采用正则表达式,而explode采用字符串作为分隔符。

答案 1 :(得分:0)

您可能最好只是逐行读取文件,使用strpos()测试注释字符,并使用str_getcsv()解析文件行而不是regexp