1

我有一个接受关键字列表的表单。然后,我使用 PHP 将列表转换为数组mb_split以输入数据库。但是,我找不到成功分隔列表的 RegEx。用户通常会粘贴从网页列表中复制的数据。这是我正在尝试的:

mb_split('/\s+/', $keywords)

这是数据库中的结果:

keyword1¶keyword2¶keyword3

我会认为 ¶ 字符会被认为是由\s+. 我尝试专门处理 ¶ 字符,但它不起作用:

mb_split('/\s+\u00B6/', $keywords)

那么什么 RegEx在这里工作呢?

解决方案

我最终使用了这个:

mb_split('\n|\r|¶', $keywords)

我需要添加|(逻辑或)并将 ¶ 符号实际粘贴到正则表达式中。我也改用\nand\r而不是\s避免丢失涉及空格的多词条目。

4

2 回答 2

1

您的实现是空格,后跟 ¶ 。您需要空格¶ :

/(\s|\u00B6)+/

¶ 字符不是空格,因为您可以看到它。它确实具有作为空格的语义含义,但除非正则表达式引擎正在寻找这样的语义,否则它不会成为空格。

于 2012-10-09T19:28:56.103 回答
1

只是为我使用作品。 mb_split不同于preg它的正则表达式也不应该被分隔。

于 2012-10-09T19:31:09.300 回答