<?php
//this code will append a &mobileapp to every https://example.com url and http://foobar.com url
ob_start();
?>
<html>
<head>
</head>
<body>
<a href="http://foobar.com">
http://www.example.com/~hillybilly/foobar.php
silly silly
</body>
</html>
<?php
$html = ob_get_clean();
$append = 'mobileapp';
$doc = new DOMDocument();
$doc->loadHTML($html);
$xpath = new DOMXpath($doc);
$elements = $xpath->query('//*[@href | @src | @action]');
if (!is_null($elements)) {
foreach ($elements as $element) {
var_dump($element);
switch ($element->nodeName) {
case 'a':
$element->setAttribute('href', $element->getAttribute('href') . '&' . $append);
}
}
}
echo $doc->saveHtml();
- Output for 8.3.0 - 8.3.6
- object(DOMElement)#3 (27) {
["schemaTypeInfo"]=>
NULL
["tagName"]=>
string(1) "a"
["className"]=>
string(0) ""
["id"]=>
string(0) ""
["firstElementChild"]=>
NULL
["lastElementChild"]=>
NULL
["childElementCount"]=>
int(0)
["previousElementSibling"]=>
NULL
["nextElementSibling"]=>
NULL
["nodeName"]=>
string(1) "a"
["nodeValue"]=>
string(63) "
http://www.example.com/~hillybilly/foobar.php
silly silly
"
["nodeType"]=>
int(1)
["parentNode"]=>
string(22) "(object value omitted)"
["parentElement"]=>
string(22) "(object value omitted)"
["childNodes"]=>
string(22) "(object value omitted)"
["firstChild"]=>
string(22) "(object value omitted)"
["lastChild"]=>
string(22) "(object value omitted)"
["previousSibling"]=>
string(22) "(object value omitted)"
["nextSibling"]=>
NULL
["attributes"]=>
string(22) "(object value omitted)"
["isConnected"]=>
bool(true)
["ownerDocument"]=>
string(22) "(object value omitted)"
["namespaceURI"]=>
NULL
["prefix"]=>
string(0) ""
["localName"]=>
string(1) "a"
["baseURI"]=>
NULL
["textContent"]=>
string(63) "
http://www.example.com/~hillybilly/foobar.php
silly silly
"
}
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
</head>
<body>
<a href="http://foobar.com&mobileapp">
http://www.example.com/~hillybilly/foobar.php
silly silly
</a></body>
</html>
- Output for 8.1.22 - 8.1.28, 8.2.9 - 8.2.18
- object(DOMElement)#3 (23) {
["schemaTypeInfo"]=>
NULL
["tagName"]=>
string(1) "a"
["firstElementChild"]=>
NULL
["lastElementChild"]=>
NULL
["childElementCount"]=>
int(0)
["previousElementSibling"]=>
NULL
["nextElementSibling"]=>
NULL
["nodeName"]=>
string(1) "a"
["nodeValue"]=>
string(63) "
http://www.example.com/~hillybilly/foobar.php
silly silly
"
["nodeType"]=>
int(1)
["parentNode"]=>
string(22) "(object value omitted)"
["childNodes"]=>
string(22) "(object value omitted)"
["firstChild"]=>
string(22) "(object value omitted)"
["lastChild"]=>
string(22) "(object value omitted)"
["previousSibling"]=>
string(22) "(object value omitted)"
["nextSibling"]=>
NULL
["attributes"]=>
string(22) "(object value omitted)"
["ownerDocument"]=>
string(22) "(object value omitted)"
["namespaceURI"]=>
NULL
["prefix"]=>
string(0) ""
["localName"]=>
string(1) "a"
["baseURI"]=>
NULL
["textContent"]=>
string(63) "
http://www.example.com/~hillybilly/foobar.php
silly silly
"
}
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
</head>
<body>
<a href="http://foobar.com&mobileapp">
http://www.example.com/~hillybilly/foobar.php
silly silly
</a></body>
</html>
- Output for 8.1.0 - 8.1.21, 8.2.0 - 8.2.8
- object(DOMElement)#3 (23) {
["schemaTypeInfo"]=>
NULL
["tagName"]=>
string(1) "a"
["firstElementChild"]=>
NULL
["lastElementChild"]=>
NULL
["childElementCount"]=>
int(0)
["previousElementSibling"]=>
NULL
["nextElementSibling"]=>
NULL
["nodeName"]=>
string(1) "a"
["nodeValue"]=>
string(63) "
http://www.example.com/~hillybilly/foobar.php
silly silly
"
["nodeType"]=>
int(1)
["parentNode"]=>
string(22) "(object value omitted)"
["childNodes"]=>
string(22) "(object value omitted)"
["firstChild"]=>
string(22) "(object value omitted)"
["lastChild"]=>
string(22) "(object value omitted)"
["previousSibling"]=>
string(22) "(object value omitted)"
["nextSibling"]=>
NULL
["attributes"]=>
string(22) "(object value omitted)"
["ownerDocument"]=>
string(22) "(object value omitted)"
["namespaceURI"]=>
NULL
["prefix"]=>
string(0) ""
["localName"]=>
string(1) "a"
["baseURI"]=>
NULL
["textContent"]=>
string(63) "
http://www.example.com/~hillybilly/foobar.php
silly silly
"
}
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><head></head><body>
<a href="http://foobar.com&mobileapp">
http://www.example.com/~hillybilly/foobar.php
silly silly
</a></body></html>
- Output for 8.0.30
- object(DOMElement)#3 (23) {
["tagName"]=>
string(1) "a"
["schemaTypeInfo"]=>
NULL
["firstElementChild"]=>
NULL
["lastElementChild"]=>
NULL
["childElementCount"]=>
int(0)
["previousElementSibling"]=>
NULL
["nextElementSibling"]=>
NULL
["nodeName"]=>
string(1) "a"
["nodeValue"]=>
string(63) "
http://www.example.com/~hillybilly/foobar.php
silly silly
"
["nodeType"]=>
int(1)
["parentNode"]=>
string(22) "(object value omitted)"
["childNodes"]=>
string(22) "(object value omitted)"
["firstChild"]=>
string(22) "(object value omitted)"
["lastChild"]=>
string(22) "(object value omitted)"
["previousSibling"]=>
string(22) "(object value omitted)"
["nextSibling"]=>
NULL
["attributes"]=>
string(22) "(object value omitted)"
["ownerDocument"]=>
string(22) "(object value omitted)"
["namespaceURI"]=>
NULL
["prefix"]=>
string(0) ""
["localName"]=>
string(1) "a"
["baseURI"]=>
NULL
["textContent"]=>
string(63) "
http://www.example.com/~hillybilly/foobar.php
silly silly
"
}
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
</head>
<body>
<a href="http://foobar.com&mobileapp">
http://www.example.com/~hillybilly/foobar.php
silly silly
</a></body>
</html>
- Output for 8.0.0 - 8.0.29
- object(DOMElement)#3 (23) {
["tagName"]=>
string(1) "a"
["schemaTypeInfo"]=>
NULL
["firstElementChild"]=>
NULL
["lastElementChild"]=>
NULL
["childElementCount"]=>
int(0)
["previousElementSibling"]=>
NULL
["nextElementSibling"]=>
NULL
["nodeName"]=>
string(1) "a"
["nodeValue"]=>
string(63) "
http://www.example.com/~hillybilly/foobar.php
silly silly
"
["nodeType"]=>
int(1)
["parentNode"]=>
string(22) "(object value omitted)"
["childNodes"]=>
string(22) "(object value omitted)"
["firstChild"]=>
string(22) "(object value omitted)"
["lastChild"]=>
string(22) "(object value omitted)"
["previousSibling"]=>
string(22) "(object value omitted)"
["nextSibling"]=>
NULL
["attributes"]=>
string(22) "(object value omitted)"
["ownerDocument"]=>
string(22) "(object value omitted)"
["namespaceURI"]=>
NULL
["prefix"]=>
string(0) ""
["localName"]=>
string(1) "a"
["baseURI"]=>
NULL
["textContent"]=>
string(63) "
http://www.example.com/~hillybilly/foobar.php
silly silly
"
}
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><head></head><body>
<a href="http://foobar.com&mobileapp">
http://www.example.com/~hillybilly/foobar.php
silly silly
</a></body></html>
- Output for 7.0.20, 7.1.5 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
- object(DOMElement)#3 (18) {
["tagName"]=>
string(1) "a"
["schemaTypeInfo"]=>
NULL
["nodeName"]=>
string(1) "a"
["nodeValue"]=>
string(63) "
http://www.example.com/~hillybilly/foobar.php
silly silly
"
["nodeType"]=>
int(1)
["parentNode"]=>
string(22) "(object value omitted)"
["childNodes"]=>
string(22) "(object value omitted)"
["firstChild"]=>
string(22) "(object value omitted)"
["lastChild"]=>
string(22) "(object value omitted)"
["previousSibling"]=>
string(22) "(object value omitted)"
["nextSibling"]=>
NULL
["attributes"]=>
string(22) "(object value omitted)"
["ownerDocument"]=>
string(22) "(object value omitted)"
["namespaceURI"]=>
NULL
["prefix"]=>
string(0) ""
["localName"]=>
string(1) "a"
["baseURI"]=>
NULL
["textContent"]=>
string(63) "
http://www.example.com/~hillybilly/foobar.php
silly silly
"
}
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><head></head><body>
<a href="http://foobar.com&mobileapp">
http://www.example.com/~hillybilly/foobar.php
silly silly
</a></body></html>
- Output for 5.3.11 - 5.3.29, 5.4.1 - 5.4.45, 5.5.0 - 5.5.37, 5.6.0 - 5.6.28, 7.0.0 - 7.0.14, 7.1.0
- object(DOMElement)#3 (17) {
["tagName"]=>
string(1) "a"
["schemaTypeInfo"]=>
NULL
["nodeName"]=>
string(1) "a"
["nodeValue"]=>
string(63) "
http://www.example.com/~hillybilly/foobar.php
silly silly
"
["nodeType"]=>
int(1)
["parentNode"]=>
string(22) "(object value omitted)"
["childNodes"]=>
string(22) "(object value omitted)"
["firstChild"]=>
string(22) "(object value omitted)"
["lastChild"]=>
string(22) "(object value omitted)"
["previousSibling"]=>
string(22) "(object value omitted)"
["attributes"]=>
string(22) "(object value omitted)"
["ownerDocument"]=>
string(22) "(object value omitted)"
["namespaceURI"]=>
NULL
["prefix"]=>
string(0) ""
["localName"]=>
string(1) "a"
["baseURI"]=>
NULL
["textContent"]=>
string(63) "
http://www.example.com/~hillybilly/foobar.php
silly silly
"
}
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><head></head><body>
<a href="http://foobar.com&mobileapp">
http://www.example.com/~hillybilly/foobar.php
silly silly
</a></body></html>
- Output for 5.3.3 - 5.3.10, 5.4.0
- object(DOMElement)#3 (0) {
}
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><head></head><body>
<a href="http://foobar.com&mobileapp">
http://www.example.com/~hillybilly/foobar.php
silly silly
</a></body></html>
- Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.2
- object(DOMElement)#3 (0) {
}
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head></head>
<body>
<a href="http://foobar.com&mobileapp">
http://www.example.com/~hillybilly/foobar.php
silly silly
</a>
</body>
</html>
- Output for 4.3.2 - 4.3.11, 4.4.0 - 4.4.9
- Fatal error: Cannot instantiate non-existent class: domdocument in /in/DAZXp on line 17
Process exited with code 255. - Output for 4.3.0 - 4.3.1
- Fatal error: Cannot instantiate non-existent class: domdocument in /in/DAZXp on line 17
preferences:
261.32 ms | 401 KiB | 392 Q