Fout in parser
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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);
}
{
//$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)
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
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;
}
{
$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.