Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有Java的PHP端口';什么是Matcher类?_Java_Php_Regex_Matcher_Preg Replace Callback - Fatal编程技术网

是否有Java的PHP端口';什么是Matcher类?

是否有Java的PHP端口';什么是Matcher类?,java,php,regex,matcher,preg-replace-callback,Java,Php,Regex,Matcher,Preg Replace Callback,我正在将YUI移植到PHP,它有多种用途。为了长期维护,我希望PHP端口尽可能与Java原始端口相似(preg\u replace\u callback当然可以,但会极大地改变程序流程) 那么,有人将Matcher移植到PHP吗?您是否正在寻找PHP中的while(查找下一个匹配){do stuff}等价物(不使用preg\u match\u all) 在这种情况下,使用带有偏移参数的preg\u match。例如: offset = 0; while(preg_match(re, str, m

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


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

您是否正在寻找PHP中的
while(查找下一个匹配){do stuff}
等价物(不使用
preg\u match\u all

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

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

    // do stuff
}

为什么不直接使用
YUICompressor.php
?编写自己的端口听起来像是一个维护难题。@MattBall,因为它是Java的包装器,在共享主机上通常不可用。听起来好像没有人这样做过-听起来像是一个有趣的项目!我已经在中使用了这项技术,但还不完整。