Version 4.3.0
This commit is contained in:
1 parent
96997ddd8e
commit
fe1acf984a
1349 files changed
+116159
-67711
No files matched your search
+39
-28
@@ -1032,7 +1032,7 @@ class CallbackBody extends Callback {
|
||||
$param3 = null) {
|
||||
$params = func_get_args();
|
||||
$params = array_slice($params, 2);
|
||||
$this->callback = create_function($paramList, $code);
|
||||
//$this->callback = create_function($paramList, $code);
|
||||
$this->params = $params;
|
||||
}
|
||||
}
|
||||
@@ -2083,16 +2083,18 @@ class phpQueryObject
|
||||
break;
|
||||
case 'parent':
|
||||
$this->elements = $this->map(
|
||||
create_function('$node', '
|
||||
function( $node ) {
|
||||
return $node instanceof DOMELEMENT && $node->childNodes->length
|
||||
? $node : null;')
|
||||
? $node : null;
|
||||
}
|
||||
)->elements;
|
||||
break;
|
||||
case 'empty':
|
||||
$this->elements = $this->map(
|
||||
create_function('$node', '
|
||||
function( $node ) {
|
||||
return $node instanceof DOMELEMENT && $node->childNodes->length
|
||||
? null : $node;')
|
||||
? null : $node;
|
||||
}
|
||||
)->elements;
|
||||
break;
|
||||
case 'disabled':
|
||||
@@ -2105,19 +2107,21 @@ class phpQueryObject
|
||||
break;
|
||||
case 'enabled':
|
||||
$this->elements = $this->map(
|
||||
create_function('$node', '
|
||||
return pq($node)->not(":disabled") ? $node : null;')
|
||||
function( $node ) {
|
||||
return pq($node)->not(":disabled") ? $node : null;
|
||||
}
|
||||
)->elements;
|
||||
break;
|
||||
case 'header':
|
||||
$this->elements = $this->map(
|
||||
create_function('$node',
|
||||
'$isHeader = isset($node->tagName) && in_array($node->tagName, array(
|
||||
function( $node ) {
|
||||
$isHeader = isset($node->tagName) && in_array($node->tagName, array(
|
||||
"h1", "h2", "h3", "h4", "h5", "h6", "h7"
|
||||
));
|
||||
return $isHeader
|
||||
? $node
|
||||
: null;')
|
||||
: null;
|
||||
}
|
||||
)->elements;
|
||||
// $this->elements = $this->map(
|
||||
// create_function('$node', '$node = pq($node);
|
||||
@@ -2134,18 +2138,23 @@ class phpQueryObject
|
||||
break;
|
||||
case 'only-child':
|
||||
$this->elements = $this->map(
|
||||
create_function('$node',
|
||||
'return pq($node)->siblings()->size() == 0 ? $node : null;')
|
||||
function( $node ) {
|
||||
return pq($node)->siblings()->size() == 0 ? $node : null;
|
||||
}
|
||||
)->elements;
|
||||
break;
|
||||
case 'first-child':
|
||||
$this->elements = $this->map(
|
||||
create_function('$node', 'return pq($node)->prevAll()->size() == 0 ? $node : null;')
|
||||
function( $node ) {
|
||||
return pq($node)->prevAll()->size() == 0 ? $node : null;
|
||||
}
|
||||
)->elements;
|
||||
break;
|
||||
case 'last-child':
|
||||
$this->elements = $this->map(
|
||||
create_function('$node', 'return pq($node)->nextAll()->size() == 0 ? $node : null;')
|
||||
function( $node ) {
|
||||
return pq($node)->nextAll()->size() == 0 ? $node : null;
|
||||
}
|
||||
)->elements;
|
||||
break;
|
||||
case 'nth-child':
|
||||
@@ -2158,21 +2167,22 @@ class phpQueryObject
|
||||
// :nth-child(index/even/odd/equation)
|
||||
if ($param == 'even' || $param == 'odd')
|
||||
$mapped = $this->map(
|
||||
create_function('$node, $param',
|
||||
'$index = pq($node)->prevAll()->size()+1;
|
||||
function( $node, $param ) {
|
||||
$index = pq($node)->prevAll()->size()+1;
|
||||
if ($param == "even" && ($index%2) == 0)
|
||||
return $node;
|
||||
else if ($param == "odd" && $index%2 == 1)
|
||||
return $node;
|
||||
else
|
||||
return null;'),
|
||||
return null;
|
||||
},
|
||||
new CallbackParam(), $param
|
||||
);
|
||||
else if (mb_strlen($param) > 1 && $param{1} == 'n')
|
||||
// an+b
|
||||
$mapped = $this->map(
|
||||
create_function('$node, $param',
|
||||
'$prevs = pq($node)->prevAll()->size();
|
||||
function( $node, $param ) {
|
||||
$prevs = pq($node)->prevAll()->size();
|
||||
$index = 1+$prevs;
|
||||
$b = mb_strlen($param) > 3
|
||||
? $param{3}
|
||||
@@ -2205,20 +2215,21 @@ class phpQueryObject
|
||||
// return ($index-$b)%$a == 0
|
||||
// ? $node
|
||||
// : null;
|
||||
'),
|
||||
},
|
||||
new CallbackParam(), $param
|
||||
);
|
||||
else
|
||||
// index
|
||||
$mapped = $this->map(
|
||||
create_function('$node, $index',
|
||||
'$prevs = pq($node)->prevAll()->size();
|
||||
function( $node, $index ) {
|
||||
$prevs = pq($node)->prevAll()->size();
|
||||
if ($prevs && $prevs == $index-1)
|
||||
return $node;
|
||||
else if (! $prevs && $index == 1)
|
||||
return $node;
|
||||
else
|
||||
return null;'),
|
||||
return null;
|
||||
},
|
||||
new CallbackParam(), $param
|
||||
);
|
||||
$this->elements = $mapped->elements;
|
||||
@@ -4742,15 +4753,15 @@ abstract class phpQuery {
|
||||
while (preg_match($regex, $content))
|
||||
$content = preg_replace_callback(
|
||||
$regex,
|
||||
create_function('$m',
|
||||
'return $m[1].$m[2].$m[3]."<?php "
|
||||
function( $m ) {
|
||||
return $m[1].$m[2].$m[3]."<?php "
|
||||
.str_replace(
|
||||
array("%20", "%3E", "%09", " ", "	", "%7B", "%24", "%7D", "%22", "%5B", "%5D"),
|
||||
array(" ", ">", " ", "\n", " ", "{", "$", "}", \'"\', "[", "]"),
|
||||
array(" ", ">", " ", "\n", " ", "{", "$", "}", '"', "[", "]"),
|
||||
htmlspecialchars_decode($m[4])
|
||||
)
|
||||
." ?>".$m[5].$m[2];'
|
||||
),
|
||||
." ?>".$m[5].$m[2];
|
||||
},
|
||||
$content
|
||||
);
|
||||
return $content;
|
||||
|
||||
Reference in new issue
Block a user