Autor |
Nachricht |
caZpa
Account gelöscht Threadersteller
Ort: -
|
Verfasst Di 14.02.2006 14:54
Titel
|
|
|
so, habs dann endlich:
Code: | function Treffer( $treffer ) {
$temp = '';
if ( $treffer[1] ) $temp .= '<nurso';
if ( $treffer[3] == 'v' ) $temp .= ' version="'.$treffer[4].'"';
if ( $treffer[3] == 'r' ) $temp .= ' revision="'.$treffer[4].'"';
if ( !empty($treffer[6]) ) {
if ( $treffer[6] == 'v' ) $temp .= ' version="'.$treffer[7].'"';
if ( $treffer[6] == 'r' ) $temp .= ' revision="'.$treffer[7].'"';
}
return $temp.'>';
}
$string = preg_replace_callback( '#\[(ns) *(([hv]):(\d+))* *(([hv]):(\d+))* *\]#i', 'Treffer', $string); |
funktioniert 1a!
danke an cix88
|
|
|
|
|
caZpa
Account gelöscht Threadersteller
Ort: -
|
Verfasst Mi 22.02.2006 16:53
Titel
|
|
|
mist
muss den alten thread nochma rauskramen
weil gibt wieder ein kleines großes problem
und zwar habe ich einen string in dem sowas wie der bbcode hier mit drin ist
der code wird dann überstetzt
in diesem beispiel tabellen
aus [ns] wird <td>
aus [ns h:3] wird <td colspan="3">
usw
_eientlich_ funktioniert das auch
hier ist der code:
Code: | $tmpCont = str_replace('[tabelle]', '<table border="0" class="table1">', $tmpCont);
$tmpCont = str_replace('[nz]', '</tr><tr>', $tmpCont); //neue zeile
$tmpCont = str_replace('[-tabelle]', '</table>', $tmpCont);
$pattern= '#\[(ns) *(([hv]):(\d+))* *(([hv]):(\d+))* *\]#i';
$tmpCont = preg_replace_callback($pattern, 'matchTBL', $tmpCont); //neue spalte
function matchTBL($treffer) {
if($treffer[0]){
$temp = '';
if ($treffer[1] == 'ns'){
$temp .= '</td><td class="td1"';
if ($treffer[3] == 'v') $temp .= ' rowspan="'.$treffer[4].'"';
if ($treffer[3] == 'h') $temp .= ' colspan="'.$treffer[4].'"';
if ($treffer[6] == 'v') $temp .= ' rowspan="'.$treffer[7].'"';
if ($treffer[6] == 'h') $temp .= ' colspan="'.$treffer[7].'"';
}
return $temp.'>';
}
} |
zu testzwecken habe ich ne kleine einfache tabelle genommen
aus
Code: | $tmpCont = "[tabelle]
[nz][ns v:2]z1s1[ns h:2]z1s2
[nz][ns]z2s2[ns]z2s3[-tabelle]"; |
wird
Code: | tmpCont = "<table border="0" class="table1">
</tr><tr></td><td class="td1" rowspan="2">z1s1</td><td class="td1" colspan="3">z1s2
</tr><tr></td><td class="td1">z2s2</td><td class="td1">z2s3</table>" |
(ja is nich grad ne tolle tbl struktur aber is ja ersma egal)
aber wenns mehr wird, z.b. so
Code: | $tmpCont = "[tabelle]
[nz][ns]Portleitung[ns]87[ns]86[ns]85[ns]84[ns]83[ns]82[ns]81[ns]80[ns v:3]Wertigkeit der oberen 3 Bits dezimal[ns
v:3]Vorzeichen[ns v:3]Dezimalwert, untere 4 Bits
[nz][ns]Pinname[ns]O2[ns]O1[ns]O0[ns]POL[ns]B8[ns]B4[ns]B2[ns]B1
[nz][ns]Ausgang von[ns]4532[ns]4532[ns]4532[ns]7135[ns]7135[ns]7135[ns]7135[ns]7135
[nz][ns][ns h:3]Digit-Kodierung[ns]Vorz.[ns h:4]BCD-Wert[ns][ns][ns]
[nz][ns]OVRG aktiv[ns]H[ns]H[ns]H[ns]H[ns]L[ns]L[ns]L[ns]L[ns]224[ns]+[ns]*
[nz][ns]Digit 5 aktiv[ns]H[ns]H[ns]L[ns]H[ns]L[ns]L[ns]H[ns]H[ns]192[ns]+[ns]1
[nz][ns]Digit 4 aktiv[ns]H[ns]L[ns]H[ns]H[ns]L[ns]H[ns]L[ns]L[ns]160[ns]+[ns]3
[nz][ns]Digit 3 aktiv[ns]H[ns]L[ns]L[ns]H[ns]L[ns]H[ns]H[ns]H[ns]128[ns]+[ns]4
[nz][ns]Digit 2 aktiv[ns]L[ns]H[ns]H[ns]H[ns]H[ns]L[ns]L[ns]H[ns]96[ns]+[ns]7
[nz][ns]Digit 1 aktiv[ns]L[ns]H[ns]L[ns]H[ns]H[ns]L[ns]L[ns]H[ns]96[ns]+[ns]9
[nz][ns h:12]* bei Overrange wird immer 00000 angezeigt[-tabelle]" |
bekomme ich keine fehlermeldung und niks. das script hört einfach nicht auf zu laden.
weiß jemand wieso oder wie ichs besser machen kann?
Zuletzt bearbeitet von am Mi 22.02.2006 17:40, insgesamt 1-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
Account gelöscht
Threadersteller
Ort: -
Alter: -
|
Verfasst Mi 22.02.2006 17:40
Titel
|
|
|
Wie gesagt, du kannst nicht ohne weiteres hierarchische Daten durch nen Regex jagen, das wird nicht funktinieren. Da musst du nen "richtigen" Parser für schreiben...
|
|
|
|
|
Backware
Dabei seit: 09.12.2004
Ort: bei Köln
Alter: 38
Geschlecht:
|
Verfasst Mi 22.02.2006 17:44
Titel
|
|
|
strip_tags ($text, "<table>,<tr>,<td>" );
bevor du ne neue scriptsprache entwickeln willst.. solltest lieber ma das hier nehmen...
|
|
|
|
|
caZpa
Account gelöscht Threadersteller
Ort: -
|
Verfasst Mi 22.02.2006 17:53
Titel
|
|
|
hm aber warum nicht?
was meinste mit hierarchisch?
mit
[tabelle]
[nz][ns v:2]z1s1[ns h:2]z1s2
[nz][ns]z2s2[ns]z2s3[-tabelle]
funktioniert es ja noch
aber bei
[tabelle]
[nz][ns v:2]z1s1[ns h:2]z1s2
[nz][ns]z2s2[ns]z2s3
[nz][ns v:2]z1s1[ns h:2]z1s2
[nz][ns]z2s2[ns]z2s3
[nz][ns v:2]z1s1[ns h:2]z1s2
[nz][ns]z2s2[ns]z2s3[-tabelle]
gibt er schon auf
heißt das die schaise war jetzt umsonst oder was o_O
hastn link oder so wo ich gucken kann wie man nen 'richtigen' parser schreibt?
kann ichmir grad niks drunter vorstellen...
Backware hat geschrieben: | strip_tags ($text, "<table>,<tr>,<td>" );
bevor du ne neue scriptsprache entwickeln willst.. solltest lieber ma das hier nehmen... |
hä was soll ich denn damit
|
|
|
|
|
Backware
Dabei seit: 09.12.2004
Ort: bei Köln
Alter: 38
Geschlecht:
|
Verfasst Mi 22.02.2006 18:07
Titel
|
|
|
caZpa hat geschrieben: | hm aber warum nicht?
was meinste mit hierarchisch?
mit
[tabelle]
[nz][ns v:2]z1s1[ns h:2]z1s2
[nz][ns]z2s2[ns]z2s3[-tabelle]
funktioniert es ja noch
aber bei
[tabelle]
[nz][ns v:2]z1s1[ns h:2]z1s2
[nz][ns]z2s2[ns]z2s3
[nz][ns v:2]z1s1[ns h:2]z1s2
[nz][ns]z2s2[ns]z2s3
[nz][ns v:2]z1s1[ns h:2]z1s2
[nz][ns]z2s2[ns]z2s3[-tabelle]
gibt er schon auf
heißt das die schaise war jetzt umsonst oder was o_O
hastn link oder so wo ich gucken kann wie man nen 'richtigen' parser schreibt?
kann ichmir grad niks drunter vorstellen...
Backware hat geschrieben: | strip_tags ($text, "<table>,<tr>,<td>" );
bevor du ne neue scriptsprache entwickeln willst.. solltest lieber ma das hier nehmen... |
hä was soll ich denn damit |
du sollst die eingabe lieber mit strip_tags durchlaufen... statt ne eigene scriptsprache zu entwickeln...
ich mein bevor ich mir
[nz][ns v:2]z1s1[ns h:2... bla bal bla
merke.. lerne ich lieber html und hab mehr möglichkeiten damit...
du machst es somit nur unnötig kompliziert.. und könntest es so einfach haben...
natürlich kenn ich den einsatzort deines "bbcodes" nicht... aber ich persönlich würde als "Nutzer" auf solch ein system verzichten...
|
|
|
|
|
caZpa
Account gelöscht Threadersteller
Ort: -
|
Verfasst Mi 22.02.2006 18:21
Titel
|
|
|
ich habe hier 80pdf dokumente
so applikationsberichte von kollegen
da soll ich html dateien raus machen
is ja alles fürn a... wenn man die so speichert oder mit krüppel-tools erstellt.
hab jetzt ersma alle als txt datei gespeichert
bilder kann ich ja später per stapelverarbeitung extrahieren
dann formatiere ich die alle txts mit ensprechenden tags
und damit das auch in zukunft nicht mehr so umständlich ist,
und die kollegen ihre berichte nicht designen sondern nur strukturieren sollen
werden keine pdfs mehr erstellt sondern txt dateien
die dann ins jeweilige format konvertiert werden.
wenn ich damit fertich bin mach ichn freudentänzchen. versprochen
|
|
|
|
|
tacker
Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht:
|
Verfasst Mi 22.02.2006 18:22
Titel
|
|
|
Lass deine Kollegen doch mit OpenOffice arbeiten. Das hat intern ne XML-Struktur, macht für beide Seiten vieles einfacher.
|
|
|
|
|
|
|
|
Ähnliche Themen |
[PHP] Reguläre Ausdrücke
reguläre ausdrücke
[Erledigt] [PHP] Reguläre Ausdrücke
[Tutorial gesucht]Reguläre Ausdrücke
|
|