Fout in parser

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Erik

Erik

15/08/2009 01:32:00
Quote Anchor link
Goedenacht allemaal,

Ik ben bezig met een forum, deze gaat alleen ergens heel erg de fout in en ik zie niet waar.
Ik heb een parser toegevoegd die een quote moet aanmaken, deze moet apart aangezien die anders gebruikt word.

Voorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function makeQuote($tekst)
{

  //$regex = '#\[quote(?:\h*=\h*("[^"]*"|\'[^\']*\'|[^][\s]+))?]((?:[^[]|\[(?!/?quote])|(?R))+)\[/quote]#';
    $regex = '#\[quote(?:\h*=\h*(?|"(.*?)"|&\#039;(.*?)&\#039;|([^][=\s]+)))?]'.
             '((?:[^[]|\[(?!/quote]|quote(?:\h*=\h*(?|"(.*?)"|&\#039;(.*?)&\#039;|([^][=\s]+)))?])|(?R))+)'.
             '\[/quote]#';

    if (is_array($tekst)) {
        $tekst = '<fieldset style="background-color:#FFF; width:95%;">
                    <legend style="background-color:#FFF;">Quote'.(empty($tekst[1]) ? '' : ': '.$tekst[1]).'<br><br></legend><p>'.$tekst[2].'</p></fieldset>';
    }

    return preg_replace_callback($regex, 'makeQuote', $tekst);
}


Sinds ik dit gedeelte heb toegevoegd krijg ik op een of andere manier op elke letter N en enter gedrukt zonder dat hierom gevraagd word.
Ik heb al geprobeerd de functie eruit te halen om te kijken hoe hij dan werkt maar dat heeft ook geen effect.
Ik heb in de tussentijd niks meer aangepast dus de fout moet ergens in dat gedeelte leggen.

Voorbeeld parser:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
function ubb_parse($tekst)
{
    $tekst    = htmlspecialchars($tekst);
    $tekst    = stripslashes($tekst);
    $tekst    = nl2br($tekst);
    
    //Smilie
    $tekst    = str_replace("(a)",         "<img src='images/smilies/angel.png'>",            $tekst);
    $tekst    = str_replace("(A)",         "<img src='images/smilies/angel.png'>",            $tekst);
     $tekst    = str_replace(":@",         "<img src='images/smilies/angry.png'>",            $tekst);
     $tekst    = str_replace(":cheer:",    "<img src='images/smilies/beer.png'>",            $tekst);
     $tekst    = str_replace(":D",            "<img src='images/smilies/bigsmile.png'>",        $tekst);
     $tekst    = str_replace(":d",            "<img src='images/smilies/bigsmile.png'>",        $tekst);
     $tekst    = str_replace(":$",            "<img src='images/smilies/blush.png'>",            $tekst);
     $tekst    = str_replace("(c)",        "<img src='images/smilies/clown.png'>",            $tekst);
     $tekst    = str_replace("(h)",        "<img src='images/smilies/cool.png'>",            $tekst);
    $tekst    = str_replace("(H)",        "<img src='images/smilies/cool.png'>",            $tekst);
    $tekst    = str_replace(":S",            "<img src='images/smilies/crazy.png'>",            $tekst);
     $tekst    = str_replace(":((",        "<img src='images/smilies/cry.png'>",            $tekst);
     $tekst    = str_replace(":x",            "<img src='images/smilies/dead.png'>",            $tekst);
    $tekst    = str_replace(":X",            "<img src='images/smilies/dead.png'>",            $tekst);
     $tekst    = str_replace(":?:",        "<img src='images/smilies/erm.png'>",            $tekst);
     $tekst    = str_replace("8-|",        "<img src='images/smilies/geek.png'>",            $tekst);
     $tekst    = str_replace("8-)",        "<img src='images/smilies/glare.png'>",            $tekst);
     $tekst    = str_replace(":)",            "<img src='images/smilies/happy.png'>",            $tekst);
     $tekst    = str_replace(":k",            "<img src='images/smilies/kiss.png'>",            $tekst);
    $tekst    = str_replace(":K",            "<img src='images/smilies/kiss.png'>",            $tekst);
    $tekst    = str_replace(":}",            "<img src='images/smilies/laughcry.png'>",        $tekst);
     $tekst    = str_replace(":slotje:",    "<img src='images/smilies/lock.png'>",            $tekst);
     $tekst    = str_replace("(l)",        "<img src='images/smilies/loveeyes.png'>",        $tekst);
    $tekst    = str_replace("(L)",        "<img src='images/smilies/loveeyes.png'>",        $tekst);
     $tekst    = str_replace(":piraat:",    "<img src='images/smilies/pirate.png'>",        $tekst);
     $tekst    = str_replace(":(",            "<img src='images/smilies/sad.png'>",            $tekst);
    $tekst    = str_replace("+o(",        "<img src='images/smilies/sick.png'>",            $tekst);
    $tekst    = str_replace(":sst:",        "<img src='images/smilies/silenced.png'>",        $tekst);
    $tekst    = str_replace("|-)",        "<img src='images/smilies/sleepy.png'>",        $tekst);
    $tekst    = str_replace(":o",            "<img src='images/smilies/surprised.png'>",        $tekst);
    $tekst    = str_replace(":O",            "<img src='images/smilies/surprised.png'>",        $tekst);
    $tekst    = str_replace("^o)",        "<img src='images/smilies/sweat.png'>",            $tekst);
    $tekst    = str_replace(":p",            "<img src='images/smilies/tongue.png'>",        $tekst);
    $tekst    = str_replace(":P",            "<img src='images/smilies/tongue.png'>",        $tekst);
    $tekst    = str_replace(":hmm:",        "<img src='images/smilies/undecided.png'>",        $tekst);
    $tekst    = str_replace(";)",            "<img src='images/smilies/wink.png'>",            $tekst);
    $tekst    = str_replace("(xd)",        "<img src='images/smilies/xd.png'>",            $tekst);
    
    
    //UBB
    $tekst    = preg_replace('/n/',"<br>n",$tekst);
    
     $tekst    = str_replace("[b]",        "<b>",            $tekst);
     $tekst    = str_replace("[/b]",        "</b>",            $tekst);
     $tekst    = str_replace("[i]",        "<i>",            $tekst);
     $tekst    = str_replace("[/i]",        "</i>",            $tekst);
     $tekst    = str_replace("[u]",        "<u>",            $tekst);
     $tekst    = str_replace("[/u]",        "</u>",            $tekst);
     $tekst    = str_replace("[center]",    "<center>",        $tekst);
     $tekst    = str_replace("[/center]",    "</center>",    $tekst);
     $tekst    = str_replace("[IMG]",        '<img src="',    $tekst);
     $tekst    = str_replace("[/IMG]",        '">',            $tekst);
     $tekst    = str_replace("[B]",        "<b>",            $tekst);
     $tekst    = str_replace("[/B]",        "</b>",            $tekst);
     $tekst    = str_replace("[I]",        "<i>",            $tekst);
     $tekst    = str_replace("[/I]",        "</i>",            $tekst);
     $tekst    = str_replace("[U]",        "<u>",            $tekst);
     $tekst    = str_replace("[/U]",        "</u>",            $tekst);
     $tekst    = str_replace("[CENTER]",    "<center>",        $tekst);
     $tekst    = str_replace("[/CENTER]",    "</center>",    $tekst);
     $tekst    = str_replace("[img]",        '<img src="',    $tekst);
     $tekst    = str_replace("[/img]",        '">',            $tekst);
    
     $tekst  = preg_replace("/\[scroll\](.+?)\[\/scroll\]/is",                          "<marquee>\1</marquee>",                     $tekst);
    $tekst  = preg_replace("#\\[size=(\#|[a-zA-Z\--:/.]+)\](.*?)\[/size\\]#si",        "<font size=\"\\1\">\\2</font>",                $tekst);
    $tekst  = preg_replace("#\\[color=(\#[0-9A-F]{6}|[a-z\-]+)\](.*?)\[/color\\]#si",  "<font color=\"\\1\">\\2</font>",            $tekst);
    $tekst  = preg_replace("#\\[url=(\#|[a-zA-Z\--:/.]+)\](.*?)\[/url\\]#si",          "<a href=\"\\1\" target=\"\\new\">\\2</a>",  $tekst);
    
    makeQuote($tekst);
    
    return $tekst;
}


Hopelijk kan iemand mij beetje duidelijkheid geven wat ik nou precies fout doe.

Mvg, Erik Kraijenoord
Gewijzigd op 01/01/1970 01:00:00 door Erik
 
Er zijn nog geen reacties op dit bericht.



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.