Skip to content

Instantly share code, notes, and snippets.

@blar
blar / gist:5516851
Created May 4, 2013 08:42
DomDocument lädt leeren String
<?php
libxml_use_internal_errors(true);
$document = new DomDocument();
$document->loadXML('');
?>
<?php
$p = $document->createElement('p', 'foobar');
$elements = $document->getElementsByTagName('p');
$lastElement = $elements[$elements->length - 1];
if($lastElement->nextSibling) {
$elements->insertBefore($p, $lastElement->nextSibling);
}
<?php
$user = function($name) {
$me = array();
$me['name'] = NULL;
$me['init'] = function($name) use(&$me) {
$me['name'] = $name;
return $me;
<?php
$user = function($name) {
$me = array(
'name' => NULL,
'init' => function($name) use(&$me) {
$me['name'] = $name;
return $me;
},
'whoami' => function() use(&$me) {
<?php
class LineIterator {
protected $handle;
public function __construct($file) {
$this->handle = fopen($file, 'r');
}
public function __invoke() {
return fgets($this->handle);
}
<?php
function LineIterator($file) {
$handle = fopen($file, 'r');
return function() use($handle) {
if(!feof($handle)) {
return fgets($handle);
}
fclose($handle);
};
<?php
preg_match_all('<(?P<key>\w+)\:(?P<value>\d+)>', 'foo:23,bar:42', $matches);
var_dump($matches);
array(5) {
[0]=>
array(2) {
[0]=>
string(6) "foo:23"
@blar
blar / gist:3265821
Created August 5, 2012 16:38
Lokalisierung von IP-Adressen mit der API der Telekom
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_URL => 'https://sts.idm.telekom.com/rest-v1/tokens/odg',
CURLOPT_HTTPAUTH => CURLAUTH_BASIC,
CURLOPT_USERPWD => ''
));
$response = json_decode(curl_exec($curl));
<?php
$content = '
<table><tr><td>00:00:00</td><td>Anfang</td></tr><tr><td>00:00:07</td><td>Mit Marcel</td></tr><tr>
<td>00:00:16</td><td>und Martin</td></tr><tr><td>00:00:41</td><td>Tiny Wings</td></tr><tr><td>00:03:53</td><td>
<a href="http://dealbook.nytimes.com/2012/07/16/googles-marissa-mayer-tapped-as-yahoos-chief/?hp&amp;pagewanted=all"
target="_blank">Marissa Mayer wir Yahoo CEO</td></tr><tr><td>00:10:20</td><td><a href="http://dearmarissamayer.com"
target="_blank">dearmarissamayer.com</td></tr><tr><td>00:13:01</td><td><a
href="https://hacks.mozilla.org/2012/07/firefox-beta-15-supports-the-new-opus-audio-format/" target="_blank">Firefox
@blar
blar / gist:3201381
Created July 29, 2012 19:40
RecursiveDOMIterator
<?php
class RecursiveDOMIterator extends RecursiveArrayIterator {
public function __construct($node) {
parent::__construct(iterator_to_array($node->childNodes));
}
public function getChildren() {
return new self($this->current());
}
public function hasChildren() {