commit 0edab9e1115a15fa2c115415e1281f884a2b6dcd
parent 0143fa525e0dfa9a4f9e418010422fbdd3e3a3da
Author: dankert <devnull@localhost>
Date: Sat, 9 Dec 2006 17:57:07 +0100
Bugfix "quoting", Einbau Definitionslisten.
Diffstat:
1 file changed, 28 insertions(+), 6 deletions(-)
diff --git a/serviceClasses/Line.class.php b/serviceClasses/Line.class.php
@@ -15,6 +15,7 @@ class Line
var $source; // Der ursprüngliche Inhalt
var $value; // Der textuelle Inhalt (sofern vorhanden)
+ var $isDefinition = false; // Definitionseintrag
var $isList = false; // nicht-numerierte Liste
var $isNumberedList = false; // numerierte Liste
var $indent = 0; // Einschubtiefe der Liste
@@ -25,14 +26,15 @@ class Line
var $isTableOfContent = false; // Inhaltsverzeichnis
- var $isTable = false; // Tabelle
- var $isCode = false; // Code
- var $isQuote = false; // Zitat
- var $isQuotePraefix = false; // Zitatbeginn/-ende
+ var $isTable = false; // Tabelle
+ var $isCode = false; // Code
+ var $isQuote = false; // Zitat
+ var $isQuotePraefix = false; // Zitatbeginn/-ende
var $isUnparsed = false;
var $isEmpty = false; // Zeile ist leer
+ var $isNormal = false; // Zeile ist ohne besonderen Inhalt, d.h. keine Tabelle, kein Zitat, usw.
@@ -75,6 +77,7 @@ class Line
if ( substr($s,0,3*strlen($char))==str_repeat($char,3*strlen($char)) )
{
$this->isHeadlineUnderline = true;
+ $this->isNormal = true;
$this->level = intval($lev);
}
}
@@ -82,8 +85,18 @@ class Line
if ( $this->isAnErsterStelle($s,$text_markup['table-of-content']) )
{
$this->isTableOfContent = true;
+ $this->isNumberedList = false;
+ $this->isList = false;
$this->value = '';
}
+ elseif
+ ( $this->isHeadline ||
+ $this->isHeadlineUnderline ||
+ $this->isList ||
+ $this->isNumberedList )
+ {
+ ;
+ }
elseif ( $this->isAnErsterStelle($s,$text_markup['table-cell-sep']) )
{
$this->isTable = true;
@@ -94,6 +107,10 @@ class Line
$this->isCode = true;
$this->value = '';
}
+ elseif ( strpos($s, $text_markup['definition-sep'])!== false )
+ {
+ $this->isDefinition = true;
+ }
elseif ( trim($s)==$text_markup['quote-line-begin'] )
{
$this->isQuote = true;
@@ -101,7 +118,8 @@ class Line
elseif ( $this->isAnErsterStelle($s,$text_markup['quote']) && strlen(trim($s))>1 )
{
$this->isQuotePraefix = true;
- $this->level = strspn( str_replace(' ','',$s),$text_markup['quote'] );
+ $this->value = ltrim(substr($s,strlen($text_markup['quote'])));
+ $this->level = strspn( str_replace(' ','',$s),$text_markup['quote'] );
}
elseif ( $this->isAnErsterStelle($s,'`') )
{
@@ -110,7 +128,11 @@ class Line
}
elseif ( $s == '' )
{
- $this->isEmpty = true;
+ $this->isEmpty = true;
+ }
+ else
+ {
+ $this->isNormal = true;
}
}