Wij zijn bezig met de ontwikkeling van een nieuwe website voor de SKON, wij
maken hierin gebruik van een UBB parser, we werken namelijk met PHP en
MySQL.
Alleen werkt de UBB parser niet goed
Hij maakt namelijk de volgende fouten:
Voor een opsomming en na een opsomming komt twee witregels ipv van één
witregel
Wanneer er html wordt gepost, wordt het aantal html regels eerst als
witregels weergegeven en daarna pas de html
Voor en na een quote komen ook twee ritregels!
Onze ubb.php is als volgt:
Waar ligt de fout? Zodat die witregel wel gewoon wordne weergegeven?
maken hierin gebruik van een UBB parser, we werken namelijk met PHP en
MySQL.
Alleen werkt de UBB parser niet goed
Hij maakt namelijk de volgende fouten:
Voor een opsomming en na een opsomming komt twee witregels ipv van één
witregel
Wanneer er html wordt gepost, wordt het aantal html regels eerst als
witregels weergegeven en daarna pas de html
Voor en na een quote komen ook twee ritregels!
Onze ubb.php is als volgt:
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
| <? function UBB($bericht, $imagesEnabled, $link) { if ( $imagesEnabled ) { $query = "SELECT * from afbeeldingen WHERE "; preg_match_all ("/\[img=(.*?)\]/si", $bericht, $afbeeldingIdArray); foreach ($afbeeldingIdArray[1] as $afbeeldingId) { $query = $query." id='$afbeeldingId' OR"; } $query = $query." 0"; $result = mysql_query($query, $link); while ($record = mysql_fetch_array($result)) { $afbeeldingId = $record["id"]; $type = $record["type"]; $hoogte = $record["hoogte"]; $breedte = $record["breedte"]; $imgTag="<img src=\"../../images/$afbeeldingId.$type\" vspace=\"10\" align=\"right\" width=\"$breedte\" height=\"$hoogte\">"; $bericht = str_replace("[img=$afbeeldingId]", $imgTag, $bericht); } $bericht= preg_replace("/\\[img\]http:\/\/(.*?)\\[\/img\]/", "<img src=\"http://\\1\" vspace=\"10\" align=\"right\">", $bericht); } $UBB_pattern = array ( "/\\[quote\](.*?)\\[\/quote\]/si", //quote "/\\[list\](.*?)\\[\/list\]/si", //bolletjeslijst "/\[list=1\](.*?)\\[\/list\]/si", //cijfertjeslijst "/\\[\*\]/", //item "/\\[b\](.*?)\\[\/b\]/si", //vetdrukken "/\\[u\](.*?)\\[\/u\]/si", //onderstrepen "/\\[i\](.*?)\\[\/i\]/si", //schuindrukken "/\\[kop\](.*?)\\[\/kop\]/si", //Kop volgens StyleSheet "/\\[url\](.*?)\\[\/url\]/si", //hyperlink simpel "/\[url=http:\/\/(.*?)\](.*?)\\[\/url\]/si", //hyperlink advanced "/\\[email\](.*?)@(.*?)\\[\/email\]/", //email simpel "/\[email=(.*?)@(.*?)\](.*?)\\[\/email\]/si", //email advanced "/\r\n/" ); $HTML_pattern = array ( "<blockquote>Quote:<hr>\\1[/quote]", "<ul>\\1</ul>", "<ol>\\1</ol>", "<li>", "<b>\\1</b>", "<u>\\1</u>", "<i>\\1</i>", "<font class=\"titel2\">\\1</font>", "<a href=\"\\1\" target=\"_blank\">\\1</a>", "<a href=http://\\1 target=\"_blank\">\\2</a>", "<a href=\"mailto:\\1@\\2\">\\1@\\2</a>", "<a href=\"mailto:\\1@\\2\">\\3</a>", "<br>\r\n" ); $bericht = preg_replace($UBB_pattern,$HTML_pattern,$bericht); return($bericht); } print $bericht; ?> |
Waar ligt de fout? Zodat die witregel wel gewoon wordne weergegeven?