【问题标题】:PHP preg_split() with conditional formatting带条件格式的 PHP preg_split()
【发布时间】:2014-03-17 15:12:56
【问题描述】:

如果我必须解析包含可能包含分隔符语法的 cmets 的字符串,我将如何在 PHP 中处理它?

设输入字符串为:

"56.82[This is a comment], 43.78, 62.55[Comment 2, but with delimiter identifiers], 33.21"

我怎样才能解析这个字符串,以便我可以像这样回显这两个部分:

56.82 - This is a comment
43.78
62.55 - Comment 2, but with delimiter identifiers
33.21

【问题讨论】:

    标签: php split


    【解决方案1】:

    我认为改用preg_match_all 可能更容易。

    preg_match_all("/[0-9.]+(\[.*?\])?/",$input,$matches);
    

    这样就可以遍历$matches数组(var_dump看结构),比尝试拆分文本可靠得多。

    【讨论】:

    • 感谢您的建议,我正在尝试弄清楚如何将其合并到我的代码中
    【解决方案2】:

    在使用 preg_ 函数之前,您可以使用 preg_quote() 来分隔字符串。

    【讨论】:

    • 这有帮助...怎么样?
    • 这将转义可能在字符串中的分隔符,在这种情况下是“[”字符,例如
    • 好吧……好吧?很确定整个问题与 cmets 可能包含逗号这一事实有关,逗号也用于分隔项目。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 2018-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多