1
0
mirror of https://github.com/mrclay/minify.git synced 2025-08-12 00:54:35 +02:00

removed dumb Java syntax emulation idea

This commit is contained in:
Steve Clay
2011-07-05 11:59:05 -04:00
parent 5b6469467e
commit 18a22b7937
2 changed files with 0 additions and 145 deletions

View File

@@ -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));
}
}

View File

@@ -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;
}
}