text = $text; $this->attributes = $attributes; $this->startTag = $startTag; $this->endTag = $endTag; } /** * @return array */ public function getAttributes() { return $this->attributes; } /** * @param array $attributes * * @return DiffListItem */ public function setAttributes($attributes) { $this->attributes = $attributes; return $this; } /** * @return mixed */ public function getText() { return $this->text; } /** * @param mixed $text * * @return DiffListItem */ public function setText($text) { $this->text = $text; return $this; } /** * @return mixed */ public function getStartTag() { return $this->startTag; } public function getStartTagWithDiffClass($class = 'normal') { return str_replace('>', ' class="'.$class.'">', $this->startTag); } /** * @param mixed $startTag * * @return DiffListItem */ public function setStartTag($startTag) { $this->startTag = $startTag; return $this; } /** * @return mixed */ public function getEndTag() { return $this->endTag; } /** * @param mixed $endTag * * @return DiffListItem */ public function setEndTag($endTag) { $this->endTag = $endTag; return $this; } public function getHtml($class = 'normal', $wrapTag = null) { $startWrap = $wrapTag ? sprintf('<%s>', $wrapTag) : ''; $endWrap = $wrapTag ? sprintf('', $wrapTag) : ''; return sprintf('%s%s%s%s%s', $this->getStartTagWithDiffClass($class), $startWrap, $this->getInnerHtml(), $endWrap, $this->endTag); } public function getInnerHtml() { return implode('', $this->text); } public function __toString() { return $this->getHtml(); } }