【问题标题】:Is there a PHP port of Java's Matcher class?Java 的 Matcher 类是否有 PHP 端口?
【发布时间】:2011-12-08 10:59:24
【问题描述】:

我正在将 YUI 的 CssCompressor 移植到 PHP,它有多个 Matcher 用途。为了长期维护,我希望 PHP 端口尽可能与 Java 原始端口相似(preg_replace_callback 当然可以,但会极大地改变程序流程)。

那么,有人将 Matcher 移植到 PHP 上吗?

【问题讨论】:

  • 你为什么不直接使用YUICompressor.phpcode.google.com/p/minify/source/browse/trunk/min/lib/Minify/… 编写自己的端口听起来像是一个令人头疼的维护问题。
  • @MattBall 因为它是 Java 的包装器,在共享主机上通常不可用。
  • 听起来无人能及 - 听起来像是一个有趣的项目!

标签: java php regex matcher preg-replace-callback


【解决方案1】:

您是否正在寻找 PHP 中的 while(find next match){ do stuff } 等效项(不使用 preg_match_all)?

在这种情况下,使用带有偏移参数的preg_match。例如:

offset = 0;
while(preg_match(re, str, matches, PREG_OFFSET_CAPTURE, offset)){
    offset = matches[0][1] + strlen(matches[0][0]);

    // do stuff
}

【讨论】:

  • 我已经在my own port 中使用了这种技术,但并不完整。
猜你喜欢
  • 2011-10-11
  • 1970-01-01
  • 2016-09-29
  • 2011-04-12
  • 2010-09-21
  • 1970-01-01
  • 2021-05-26
  • 1970-01-01
  • 2017-08-30
相关资源
最近更新 更多