/** * * 获取文本节点 */ public function getTextToken($char) { /*if (! isset ( $this->text {$this->pos + 1} )) { return false; }*/ $next = $this->text[$this->pos + 1]; $renext = $this->text[$this->pos + 2]; /* * return when next token is tpl */ if ($this->hasTplToken && $this->ld === substr($this->text, $this->pos + 1, strlen($this->ld))) { return false; } /* * 如果下一个字符是“<”, 并且下下个字符不是< * 需要兼容<div>welefen<<</div>这样的情况 * Chrome下: 对于<div>welefen< 会被解析成<div>welefen, 最后的<字符会被忽略 */ if ($next === Fl_Html_Static::LEFT && $renext !== Fl_Html_Static::LEFT && Fl_Html_Static::isTagFirstChar($renext)) { return false; } }
/** * * 获取文本节点 */ public function getTextToken($char) { $next = $this->getPosChar($this->pos + 1); $renext = $this->getPosChar($this->pos + 2); if ($next === false) { return false; } /* * 如果下一个是模板语法的token,则返回 * 这里用find有严重的性能问题,故直接使用substr比较 */ if ($this->ld && $this->ld === substr($this->text, $this->pos + 1, strlen($this->ld))) { return false; } /* * 如果下一个字符是“<”, 并且下下个字符不是< * 需要兼容<div>welefen<<</div>这样的情况 * Chrome下: 对于<div>welefen< 会被解析成<div>welefen, 最后的<字符会被忽略 */ if ($next === Fl_Html_Static::LEFT && $renext !== Fl_Html_Static::LEFT && Fl_Html_Static::isTagFirstChar($renext)) { return false; } }