Vorausschauendes Verhalten

Nach diesem Konzept kann schwierig sein, seine wahre Bedeutung vorzustellen. Daher ist in den folgenden Absätzen ist Ich werde versuchen, am besten zu erklären. Und da dies ein wesentliches Merkmal Texy, eine Erklärung wird etwas voll sind. Wir beginnen mit einem eher allgemein:

Normalerweise Formatierer arbeiten nach dem Prinzip, dass die Hilfe einer Reihe von anspruchsvollen regulären Ausdruck Scannen der Eingabe von Text und Formatierung Befehle gefunden gleichgestellt HTML-Tags. Es ist ganz schnell und einfach. So ist die erste Version arbeitete Texy.

Lassen Sie uns versuchen, in der Praxis zeigen, wie es funktioniert. Stellen Sie sich eine sehr einfache Syntax:

  • Fetter Text: eingegebenen *text* und das System wird die <strong>text</strong>
  • Bild: wie geschrieben [* url *] einen regelmäßigen Ausdruck, wendet es sich <img src="url">

Erstellen Sie ein System, dass diese Regelung den Text zu formatieren wird. Erstens sucht im gesamten Text den Symbolen, die kühne und ersetzen sie durch die entsprechenden HTML-Tags. Im zweiten Schritt sucht nach einem String, der das Bild ist auch das HTML-Element zu verwechseln.

Sehr schnell aber wir finden, dass das System nicht so funktioniert wie es sollte. Lassen Sie es formatiert diesen Eintrag:

 Dies ist ein Bild [* images / benny.jpg *] * mein Hund *. 

Wir erwarten, dass dieses Ergebnis:

 Dies ist ein Bild <img src="images/benny.jpg">
mein Hund <strong> </ strong>. 

Allerdings kehrt das System:

 Dies ist ein Bild [<strong> images / benny.jpg </ strong>]
mein Hund <strong> </ strong>. 

Wo liegt das Problem? Durch das Ersetzen der ersten Sterne auf Anzeichen <strong> eine Beschädigung der Zeichenfolge, die dem Bild und dem zweiten Schritt gefunden werden. Wie aus ihm heraus?

Vielleicht können Sie denken, Sie zwei Möglichkeiten:

  • schalten Sie die Reihenfolge, in der die Substitution realisiert
  • oder bearbeiten Sie die regulären Ausdruck der Suche nach Sternen ignoriert werden, wenn die linke und rechte Klammer durch ein Sternchen zu finden ist.

Leider weder Lösung ist perfekt. Invert Ausdrücke ist nur zu brechen Keil Keil. Das System bricht zusammen, um die Eingabe von Text:

 Dies ist ein ungewöhnliches Bild-URL:
[* / Bilder / * my * / foto.jpg *] 

Im ersten Schritt kann die Form angepasst werden:

 Dies ist ein ungewöhnliches Bild-URL:
[* / Bilder / <strong> mein </ strong> / foto.jpg *] 

Und im zweiten Schritt:

 Dies ist ein ungewöhnliches Bild-URL:
<img src = "/ images / <strong> mein </ strong> / foto.jpg"> 

Aber der Benutzer hat nicht die Absicht, dieses Ergebnis. Die Adresse nicht über das Image der Marke <strong> sondern gewöhnliche Sterne. Man kann natürlich argumentieren, dass die Sterne in der Adresse ungewöhnlich sind. Zugegeben, aber es erscheinen mag. Anschließend wird die Lösung nicht hundert Prozent.

Und welche Art von Lösung? Nicht viel besser. Es erfordert übermenschliche Anstrengungen der Programmierer: Sie muss alle möglichen Eingriffe von regulären Ausdrücken zu identifizieren. Reguläre Ausdrücke komplizierter geworden. Darüber hinaus verschwindet die Universalität des Systems, jede Veränderung in der Syntax schwierigen Anpassungen aller Bedingungen zu verlangen. Ein solcher Ansatz ist nur für schwere Spawns odhalitelných Fehler. Auch hier ist die Lösung nicht hundert Prozent.

Wie Texy

Und jetzt, da sowohl normale Formatierung Mittel versagt erscheint auf der Bildfläche Texy. Eine Situation zu retten :-)

Aber verlassen Werbesprache. Sie tatsächlich Realität ist, dass bekannte und beliebte Formatierer (Textile, Markdown, ...) auf ähnliche Strukturen zusammengebrochen zuverlässig. Daher Texy zeigten sich auch von der Pflicht zur ordnungsgemäßen Formatierer mit očekávatelným Verhalten.

Der Vorteil der Verwendung nur Texy ganz Techniken. Priorität ist nicht Geschwindigkeit, sondern die Vollkommenheit und Perfektion der Übertragung. Dies unterscheidet sich von der Konkurrenz.

Immer noch nicht glauben?

Stellen Sie sich das beliebte Konverter Textile. Die Syntax sagt, dass der Text eingeschlossen zwischen den Sternen wird hervorgehoben Marke <strong> den Text unterstreicht die Marke <em> Darüber hinaus ist es möglich, unmittelbar nach dem ersten Unterstrich ein Modifizierer, wie die Nutzung _ (Klasse) Text verändert werden. Allerdings, wenn wir die Modifizierer Sterne, Textilien verwirren und zurück Unrecht führen. Versuchen Sie, Ihre Word-Format zu bekommen:

 _ (* This * die Textil) nezvládne_ 

Aber wollen nicht Textile Absturz - im Gegenteil, es ist ein großes Werkzeug!