mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 29.03.2024 14:06 Benutzername: Passwort: Auto-Login

Thema: [php] reguläre audrücke vom 07.02.2006


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [php] reguläre audrücke
Seite: Zurück  1, 2, 3, 4  Weiter
Autor Nachricht
caZpa
Account gelöscht Threadersteller


Ort: -

Verfasst Di 14.02.2006 14:54
Titel

Antworten mit Zitat Zum Seitenanfang

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

Lächel
 
caZpa
Account gelöscht Threadersteller


Ort: -

Verfasst Mi 22.02.2006 16:53
Titel

Antworten mit Zitat Zum Seitenanfang

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
Anzeige
Account gelöscht
Threadersteller


Ort: -
Alter: -
Verfasst Mi 22.02.2006 17:40
Titel

Antworten mit Zitat Zum Seitenanfang

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: Männlich
Verfasst Mi 22.02.2006 17:44
Titel

Antworten mit Zitat Zum Seitenanfang

strip_tags ($text, "<table>,<tr>,<td>" );

bevor du ne neue scriptsprache entwickeln willst.. solltest lieber ma das hier nehmen...
  View user's profile Private Nachricht senden
caZpa
Account gelöscht Threadersteller


Ort: -

Verfasst Mi 22.02.2006 17:53
Titel

Antworten mit Zitat Zum Seitenanfang

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: Männlich
Verfasst Mi 22.02.2006 18:07
Titel

Antworten mit Zitat Zum Seitenanfang

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...
  View user's profile Private Nachricht senden
caZpa
Account gelöscht Threadersteller


Ort: -

Verfasst Mi 22.02.2006 18:21
Titel

Antworten mit Zitat Zum Seitenanfang

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: Männlich
Verfasst Mi 22.02.2006 18:22
Titel

Antworten mit Zitat Zum Seitenanfang

Lass deine Kollegen doch mit OpenOffice arbeiten. Das hat intern ne XML-Struktur, macht für beide Seiten vieles einfacher.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen [PHP] Reguläre Ausdrücke
reguläre ausdrücke
[Erledigt] [PHP] Reguläre Ausdrücke
[Tutorial gesucht]Reguläre Ausdrücke
Neues Thema eröffnen   Neue Antwort erstellen Seite: Zurück  1, 2, 3, 4  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.