diff options
author | zotlabs <mike@macgirvin.com> | 2017-02-14 20:57:14 -0800 |
---|---|---|
committer | zotlabs <mike@macgirvin.com> | 2017-02-14 20:57:14 -0800 |
commit | 07d92796d263d5add84793064e03108eec85db94 (patch) | |
tree | 44fb2c23f5514c558e85344f4e24a35fc8e8e98c | |
parent | 1f39c16d99720811601791c852314e4c69f24dd5 (diff) | |
download | volse-hubzilla-07d92796d263d5add84793064e03108eec85db94.tar.gz volse-hubzilla-07d92796d263d5add84793064e03108eec85db94.tar.bz2 volse-hubzilla-07d92796d263d5add84793064e03108eec85db94.zip |
provide HTTP header parser which honours continuation lines and despite the fact that continuation lines have been deprecated - as they still exist in the wild.
-rw-r--r-- | Zotlabs/Web/HTMLHeaders.php | 46 | ||||
-rw-r--r-- | include/text.php | 5 |
2 files changed, 46 insertions, 5 deletions
diff --git a/Zotlabs/Web/HTMLHeaders.php b/Zotlabs/Web/HTMLHeaders.php new file mode 100644 index 000000000..f9bc3043b --- /dev/null +++ b/Zotlabs/Web/HTMLHeaders.php @@ -0,0 +1,46 @@ +<?php + +namespace Zotlabs\Web; + +class HTMLHeaders { + + private $in_progress = []; + private $parsed = []; + + + function __construct($headers) { + + $lines = explode("\n",str_replace("\r",'',$headers)); + if($lines) { + foreach($lines as $line) { + if(preg_match('/^\s+/',$line,$matches) && trim($line)) { + if($this->in_progress['k']) { + $this->in_progress['v'] .= ' ' . ltrim($line); + continue; + } + } + else { + if($this->in_progress['k']) { + $this->parsed[] = [ $this->in_progress['k'] => $this->in_progress['v'] ]; + $this->in_progress = []; + } + + $this->in_progress['k'] = strtolower(substr($line,0,strpos($line,':'))); + $this->in_progress['v'] = ltrim(substr($line,strpos($line,':') + 1)); + } + + } + if($this->in_progress['k']) { + $this->parsed[] = [ $this->in_progress['k'] => $this->in_progress['v'] ]; + $this->in_progress = []; + } + } + } + + function fetch() { + return $this->parsed; + } +} + + + diff --git a/include/text.php b/include/text.php index 8c01ed1d2..cfec1ddf6 100644 --- a/include/text.php +++ b/include/text.php @@ -1581,11 +1581,6 @@ function prepare_body(&$item,$attach = false) { $photo = $prep_arr['photo']; $event = $prep_arr['event']; -// q("update item set html = '%s' where id = %d", -// dbesc($s), -// intval($item['id']) -// ); - if(! $attach) { return $s; } |