mirror of
https://github.com/mrclay/minify.git
synced 2025-08-12 09:05:08 +02:00
removed dumb Java syntax emulation idea
This commit is contained in:
@@ -1,81 +0,0 @@
|
||||
<?php
|
||||
|
||||
require_once dirname(__FILE__) . '/String.php';
|
||||
|
||||
class Minify_YUI_Java_Matcher {
|
||||
|
||||
protected $_matches;
|
||||
protected $_match;
|
||||
protected $_subject;
|
||||
protected $_appendPosition = 0;
|
||||
|
||||
public function __construct($pattern, $subject)
|
||||
{
|
||||
$this->_subject = $subject;
|
||||
preg_match_all($pattern, $subject, $this->_matches, PREG_OFFSET_CAPTURE);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function find()
|
||||
{
|
||||
$this->_match = current($this->_matches);
|
||||
if ($this->_match) {
|
||||
next($this->_matches);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public function group($group = 0)
|
||||
{
|
||||
return $this->_match[0][$group];
|
||||
}
|
||||
|
||||
public function start()
|
||||
{
|
||||
return $this->_match[1];
|
||||
}
|
||||
|
||||
public function end()
|
||||
{
|
||||
return $this->_match[1] + strlen($this->_match[0][0]);
|
||||
}
|
||||
|
||||
public function appendReplacement(Minify_YUI_Java_String $string, $replacement)
|
||||
{
|
||||
$length = $this->start() - $this->_appendPosition;
|
||||
$string->append(substr($this->_subject, $this->_appendPosition, $length));
|
||||
|
||||
$i = 0;
|
||||
$newReplacement = '';
|
||||
$next = '';
|
||||
$length = strlen($replacement);
|
||||
while ($i < $length) {
|
||||
$curr = $replacement[$i];
|
||||
$next = ($i === ($length - 1)) ? '' : $replacement[$i + 1];
|
||||
if ($curr === '\\' && $next === '$') {
|
||||
$newReplacement .= '$';
|
||||
$i += 2;
|
||||
continue;
|
||||
}
|
||||
if ($curr === '$' && is_numeric($next) && isset($this->_match[0][(int) $next])) {
|
||||
$newReplacement .= $this->_match[0][(int) $next];
|
||||
$i += 2;
|
||||
continue;
|
||||
}
|
||||
$newReplacement .= $curr;
|
||||
$i++;
|
||||
}
|
||||
|
||||
$string->append($newReplacement);
|
||||
$this->_appendPosition = $this->end();
|
||||
}
|
||||
|
||||
public function appendTail(Minify_YUI_Java_String $string)
|
||||
{
|
||||
$string->append(substr($this->_subject, $this->_appendPosition));
|
||||
}
|
||||
}
|
@@ -1,64 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Class Minify_YUI_Java_String
|
||||
* @package Minify
|
||||
*/
|
||||
|
||||
if (function_exists('mb_strlen')) {
|
||||
mb_internal_encoding('8bit'); // no multibyte strong functions, please
|
||||
}
|
||||
|
||||
/**
|
||||
* Allow PHP syntax of YUI's CssCompressor port to more closely match Java version
|
||||
*/
|
||||
class Minify_YUI_Java_String {
|
||||
public $content;
|
||||
|
||||
public function __construct($content = '')
|
||||
{
|
||||
$this->content = $content;
|
||||
}
|
||||
|
||||
public function replace($target, $replacement)
|
||||
{
|
||||
return new self(str_replace($target, $replacement, $this->content));
|
||||
}
|
||||
|
||||
public function replaceAll($regex, $replacement)
|
||||
{
|
||||
$pattern = '/' . str_replace('/', '\/', $regex) . '/';
|
||||
return new self(preg_replace($pattern, $replacement, $this->content));
|
||||
}
|
||||
|
||||
/**
|
||||
* Return position (in bytes) of string found or -1 (not FALSE!)
|
||||
* @param string $needle
|
||||
* @param int $offset
|
||||
* @return int
|
||||
*/
|
||||
public function indexOf($needle, $offset = 0) {
|
||||
$pos = strpos($this->content, $needle, $offset);
|
||||
return ($pos === false)
|
||||
? -1
|
||||
: $pos;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get number of bytes (not characters) in string
|
||||
* @return int
|
||||
*/
|
||||
public function length()
|
||||
{
|
||||
return strlen($this->content);
|
||||
}
|
||||
|
||||
public function toString()
|
||||
{
|
||||
return $this->content;
|
||||
}
|
||||
|
||||
public function append($str)
|
||||
{
|
||||
$this->content .= $str;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user