Leser: 2
![]() |
|< 1 2 3 >| | ![]() |
27 Einträge, 3 Seiten |
QuoteAnsonsten das andere probleme mit dem Größer Gleich Zeichen innerhalb von Anführungszeichen, dass ist sicherlich etwas was zu einem Problem führen könnte. Ich habe die regex nun angepasst das wenn innerhalb von Spitzen klammern Anführungszeichen vorkommen, dass alles was zwischen den Anführungszeichen vorkommt, ignoriert wird.
QuoteAllerdings weiß ich gerade gar nicht wie man innerhalb von HTML ein Anführungszeichen schreibt? Wird das einfach mit einem Backslash escaped?
QuoteWenn ja muss ich das auch noch einbauen.
Ob nun JavaScript, PHP oder sonstiges in der Datei vorkommt, muss der Thread ersteller Wissen, oder sagen.
QuoteDas eben ist das Problem deines Codes. Eigentlich sollte die Information reichen, dass es eine (valide) HTML-Datei ist, evtl. noch die HTML-/XHTML-Version, denn dann ist die Syntax definiert.
QuoteWas ist mit einfachen Anführungszeichen? Was ist mit HTML-Kommentaren? "<!-- Nur für x > y -->"
Du siehst, wir können hier Hase und Igel spielen: Ich beschreibe eine evtl. sehr abstruse, aber gültige Syntaxvariante, du verbesserst deinen Code, ich denke mir die nächste Konstruktion aus ... Am Ende landen wir dabei, dass du HTML::Parser nachimplementierst.
QuoteNö, wozu? Anführungszeichen sind AFAIK erlaubte Textzeichen. Ansonsten kann man auch " schreiben (für die doppelten), z.B. in Attributen
QuoteWie gesagt, eigentlich sollte die Information reichen, dass es HTML (3.2/4.x/wasweißich) ist.
QuoteDas eben ist das Problem deines Codes. Eigentlich sollte die Information reichen, dass es eine (valide) HTML-Datei ist, evtl. noch die HTML-/XHTML-Version, denn dann ist die Syntax definiert.
QuoteUnd Html::parser nachprogrammieren möchte ich nicht. Die Angabe ist aber letztendlich das es eine textdatei ist die schon HTML Tags enthält. Es kann also genauso ein Java, C++ eine Latex File oder sonst irgendetwas sein.
QuoteDas ist ein Quick&Dirty Hack für die Aufgabe, vielleicht reicht diese Möglichkeit aus, vielleicht auch nicht. Was von beiden zutrifft muss der Thread ersteller selber wissen.
QuoteIch muss aber auch sagen das ich HTML::Parser nicht kenne, und deren Möglichkeit nicht kenne, Textdateien auser HTML Dateien zu bearbeiten. Und ich weiß nicht was bei dem Modul als HTML gesehen wird. JavaScrpt oder embedded PHP gehört Meiner Meinung nach nicht zu HTML.
QuoteIch meinte Nicht Anführungszeichen als Normalen Text, sondern wenn man ein Anführungsezeichen innerhalb eines String Schreiben möchte.
Quotez.b. den String: "Hallo, Welt", und wie inenrhlab eines Strings Anführungszeichen escaped werden. Sonst wäre das nächste Anführungszeichen ja sofort der nächste Begrenzer.
<img src="/img/next.gif" alt=""Hallo, Welt"">
$data =~ s/(\d+)([^>]*(?:<|$))/<font color=\"#ff0000\">$1<\/font>$2/
1
2
3
4
5
6
7
<font color="#000000"><pre>
<br>"Hallo"
<br>1234<br>214214<br>346<br>
<br>
<br>();
<br>("Test! 2134",12421<br>
);</pre></font>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
C:\Daten\perl>perl
$data = qq{<font color="#000000"><pre>
<br>"Hallo"
<br>1234<br>214214<br>346<br>
<br>
<br>();
<br>("Test! 2134",12421<br>
);</pre></font>};
$data =~ s~(\d+)(?=[^>]*(?:<|$))~###$1###~g;
print $data;
^Z
<font color="#000000"><pre>
<br>"Hallo"
<br>###1234###<br>###214214###<br>###346###<br>
<br>
<br>();
<br>("Test! ###2134###",###12421###<br>
);</pre></font>
(\d+)(?=[^>]*(?:<|$))
(\d+)(?=[^>]*(?:<|$))
![]() |
|< 1 2 3 >| | ![]() |
27 Einträge, 3 Seiten |