Schrift
[thread]6525[/thread]

Diff nach bestimmter Anzahl von Zeichen



<< >> 4 Einträge, 1 Seite
Anthy
 2004-08-23 17:08
#49575 #49575
User since
2004-08-12
11 Artikel
BenutzerIn
[default_avatar]
Hey Leutz,

folgendes...
zur zeit mache ich das so

Code: (dl )
1
2
3
4
5
6
7
8
9
    $reference =~ s/\n/§¤/gim;
   $result =~ s/\n/§¤/gim;
   @a = split('§¤',$model->reduce($reference));
   @b = split('§¤',$model->reduce($result));
   traverse_sequences( \@a,\@b,
            { MATCH => \&match,
              DISCARD_A => \&dis_a,
              DISCARD_B => \&dis_b,
            } );

(edit: das nicht lesbare zeichen hinter dem § ist ein "eurozeichen"

sprich er ersetzt die newlines durch eine symbolfolge, die glaube ich nicht in einem html dok so vorkommen wird *G* splittert dort und wendet dann das diff an.

Das klappt eigentlich wunderbar und es is besser als wenn er bei ' ' splittet denn dann schaut er sich jedes zeichen an und das dauert dann ewig zum diffen.
Das Problem ist dadurch das ich die \n ersetzte ist es mir jetzt bei einem Testfall passiert, dass er wo anders fehler findet obwohl keiner fehler vorhanden sind also tüftle ich gerade an ein merkmal das nicht diesen fehler hervorruft und hab sachen wie statt \n einfach "</td>", aber es wäre ideal wenn ich ihm sagen könnte, das er nach einer bestimmten anzahl zeichen egal ob wörter etc splitten würde und diese anzahl zeichen dann differenziert.
kann mir da einer helfen?

wie immer im voraus vielen dank :)

regards Anthy\n\n

<!--EDIT|Anthy|1093266558-->
ptk
 2004-08-23 20:19
#49576 #49576
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Du koenntest mit unpack arbeiten. Z.B. um 10-Zeichen-Bloecke zu erhalten:
Code: (dl )
unpack("(a10)*", $string)
Anthy
 2004-08-24 20:19
#49577 #49577
User since
2004-08-12
11 Artikel
BenutzerIn
[default_avatar]
sonsst keiner ne idee?
ptk
 2004-08-24 20:38
#49578 #49578
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Geht's denn nicht?
<< >> 4 Einträge, 1 Seite



View all threads created 2004-08-23 17:08.