kostenloser Webspace werbefrei: lima-city


Matchings

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    t**********e

    Leute ich kriegs einfach net hin: folgendes problem:

    Ich m?chte, dass ein Text ?berpr?ft wird. alle [.quote] und [./quote] sollen ersetzt werden, aber nur wenn beides auch wirklich da ist!

    H?rt sich simple an(is es mit PERL auch) aber ich steig bei PHP einfach nich hinter preg-match_all und den ganzen mist.
    ich hoffe ihr k?nnt mir weiterhelfen!
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. r********t

    Sorry aber ich fidne das sichd as nicht simple anh?rt. Im gegenteil ich kappiere ?berhaupt net was du haben m?chtest
  4. Autor dieses Themas

    t**********e

    das liegt daran, das ich vergessen habe, das [.quote] ?uch bei lima ersetzt wird! sry daf?r. also nochmal: ich will das in einem text alle [.quote] und [./quote] ersetzt werden, aber nur wenn auch beides vorliegt.
    ich hoffe jetzt ist es verst?ndlicher

  5. terror-state schrieb:
    H?rt sich simple an(is es mit PERL auch) aber ich steig bei PHP einfach nich hinter preg-match_all und den ganzen mist.
    ich hoffe ihr k?nnt mir weiterhelfen!


    Wie w?hre das denn in PERL?
    Und du meinst doch preg_match_all und nicht preg-match_all.

    Wenn du wei?t wie man das macht kannst du es mir mal schicken.
    Ich hatte mal ein ?hnliches Problem. Und das habe ich jetzt erstmal beiseite gelegt da es nicht so wichtig ist.

    P.S. Mein Priobelme war das ich sowas wie [irgendwas='text1'] text2 [/irgendwas] finden wollte und dann direkt text1 und text2 in zwei Variablen haben wollte.
    Dachte auch das das einfach sei. Aber nachdem ich mich damit rumgeschlagen haben, habe ich es gelassen.

    Jens
  6. djfun

    Co-Admin Kostenloser Webspace von djfun

    djfun hat kostenlosen Webspace.

    geht das hier vielleicht:

    while(strpos($text,"
    ",$quote_end_pos)){
    $quote_pos=strpos($text,"
    ",$quote_end_pos);
    $quote_end_pos=strpos($text,"
    ",$quote_pos);
    $text_davor=substr($text,0,$quote_pos);
    $quote_pos=$quote_pos+7;
    $quotelen=$quote_end_pos-$quote_pos;
    $quote=substr($text,$quote_pos,$quotelen);
    $text_danach_lenght=strlen($text)-$quote_end_pos;
    $quote_end_pos=$quote_end_pos+8;
    $text_danach=substr($text,$quote_end_pos,$text_danach_lenght);
    //jetzt kannst du mit $text_davor , $quote und $text_danach n bisschen rumbasteln.
    }

    versuchs mal

    EDIT: Bei mir gehts jetzt
  7. Autor dieses Themas

    t**********e

    is ne sch?ne idee, aber trifft leider nicht den punkt. ich versuchs ein drittes mal :biggrin:

    $text = "[bla]Hallo mein name ist terror-state[/bla][bla]das nich mehr";

    ich habs einfach mal [bla] genannt ^^ also:
    das erste [bla] soll meinetwegen mit <.u> ersetzt werden... und das erste [/bla] wird dann mit <./u> ersetzt. dann folgt ein offenes [bla], was dann jedoch herausgefiltert werden soll. alle geschlossenen [bla]-[/bla]-tags sollen erstetzt werden, die ungeschlossenen werden herausgefiltert.
    also noch genau kann ichs nich beschreiben. ^^ sry. aber ihr macht das schon.
    ich will nur verhindern, dass offene [bla]-tags meine seite kaputt machen! es ist mir allerdings auch zu bl?d, einfach ?berall einfach ein [/bla] ranzuh?ngen. ich k?nnte auch z?hlen, wie viele [bla] und wieviel [/bla]-tags vorkommen und dann entscheiden ob hinten was ranmuss oder nicht, aber ich will das eleganter l?sen.
    Danke f?r euer mitdenken :biggrin:
  8. Habe nochmal gesuch und was gefunden.

    Ich denke das wird dir auch weiterhelfen.

    <?
    // Das \\2 ist ein Beispiel f?r R?ckreferenzierung. Es teilt pcre mit, dass
    // der regul?re Ausdruck mit dem f?r das zweite Klammerpaar, also in diesem
    // Fall mit dem f?r ([\w]+) gefundenen Ausdruck selbst ?bereinstimmen muss.
    // Der zus?tzliche Backslash wird wegen der doppelten Anf?hrungsstriche
    // ben?tigt.
    $html = "<b>fett gedruckter Text</b><a href=howdy.html>klick mich an</a>";

    preg_match_all("/(<([\w]+)[^>]*>)(.*)(<\/\\2>)/", $html, $treffer);

    for ($i=0; $i< count($treffer[0]); $i++) {
    echo "gefunden: " . $treffer[0][$i] . "\n";
    echo "Teil 1: " . $treffer[1][$i] . "\n";
    echo "Teil 2: " . $treffer[3][$i] . "\n";
    echo "Teil 3: " . $treffer[4][$i] . "\n\n";
    }
    ?>
    Dieses Beispiel erzeugt:

    gefunden: <b>fett gedruckter Text</b>
    Teil 1: <b>
    Teil 2: fett gedruckter Text
    Teil 3: </b>

    gefunden: <a href=howdy.html>klick mich an</a>
    Teil 1: <a href=howdy.html>
    Teil 2: klick mich an
    Teil 3: </a>

    Wie du das auf deine W?nsche ?ndern kannst wirst du wohl wissen. :-))

    P.S. Gefunden auf: http://de3.php.net/manual/de/function.preg-match-all.php

    Jens
  9. Autor dieses Themas

    t**********e

    ja das hab ich auch schon gesehn... aber ich find denn code zu rechen aufwendig! jedenfalls bin ich mittlerweile fast fertig (sowohl geistig, als auch mit dem code). mir fehlt noch ein befehl, der nur den ersten treffer ersetzt. dann m?sste es gehn. allerdings funzt der /o operator nich so wirklich.

    kann mir da einer weiterhelfen? also nur der erste treffer soll ersetzt werden.
  10. Autor dieses Themas

    t**********e

    Ha leute ich habs raus!
    hier mal der code, denn ich denke der is ganz n?tzlich. nat?rlich noch bearbeitungsw?rdig (matchings sind echt nich meine welt ^^)
    $row[5] = "[u]Underline1[/u] [u]Underline2[u]Hallo mein Name ist Terror-State";
    
    
    while (eregi("((\[u\])(.*)(\[\/u\]))",$row[5]))
    {
    $row[5] = preg_replace ("/\[\/u\]/i","</u> ", $row[5], 1);
    $row[5] = preg_replace ("/\[u\]/i","<u> ", $row[5], 1);
    }
    $row[5] = preg_replace ("/\[\/u\]/i"," ", $row[5]);
    $row[5] = preg_replace ("/\[u\]/i"," ", $row[5]);


    alle geschlossenen tags werden ersetzt und was ?brig bleibt wird entfernt!
    viel spass damit.
    kann eigentlich geschlossen werden, weil problem ja gel?st wurde!
  11. Na dann schlie?e ich das mal.

    Jens
  12. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!