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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
<?php
include_once($UTIL_DIR . "/convert.php");
include_once($UTIL_DIR . "/smileys.php");
function parse($input, $indent = "")
{
global $testing;
// Remove all tags from input (convert to xml)
$output = convert_xml($input);
// Replace newlines with '\n' and indent code.
$nls = array("\n\r", "\n\c", "\n");
$nls = str_replace($nls, "\n" . $indent, $indent . $output);
$output = $nls;
// Put in the smileys
global $smileys;
foreach($smileys as $smiley) {
$smile = $smiley[0];
$smile = str_replace($smile, "<img alt=\"\" src=\"gfx/smileys/" . $smiley[1] . "\"></img>", $output);
$output = $smile;
}
// Replace URLs with <a></a> tags
$urls = "";
while(($start = strpos($output, "http://"))) {
$pre = substr($output, 0, $start);
$url = substr($output, $start);
$end1 = strpos($url, " ");
$end2 = strpos($url, "\n");
if($end1 == 0) {
if($end2 == 0) $end = strlen($url);
else $end = $end2;
} else {
if($end2 == 0) $end = $end1;
else if($end1 < $end2) $end = $end1;
else $end = $end2;
}
$url = substr($url, 0, $end);
$post = substr($output, $start + $end);
if(strstr($url, ".jpg") || strstr($url, ".gif") || strstr($url, ".png")) {
$urls .= $pre . "<a href=\"" . $url . "\"><img alt=\"" . $url . "\" style=\"border: solid red 1px;\" src=\"imagecache.php?filename=" . urlencode($url) . "\"/></a>";
} else {
$urls .= $pre . "<a href=\"" . $url . "\">" . $url . "</a>";
}
$output = $post;
}
$urls .= $output;
$output = $urls;
// Replace [quote title=...]...[/quote]
$urls = "";
while(($start = strpos($output, "[quote"))) {
$pre = substr($output, 0, $start);
$url = substr($output, $start);
$end = strpos($url, "[/quote]") + strlen("[/quote]");
$url = substr($url, 0, $end - strlen("[/quote]"));
$post = substr($output, $start + $end + strlen("[/quote]") );
$header = substr($url, 0, strpos($url, "]") + 1);
$body = substr($url, strpos($url, "]") + 1);
$header = str_replace(array("title"), "", $header);
$header = str_replace(array("="), "<div class=\"title\">", $header);
$header = str_replace(array("[quote"), "<div class=\"quote\">", $header);
$header = str_replace(array("]"), " </div>", $header);
$urls .= $pre . $header . $body . "</div>";
$output = $post;
}
$urls .= $output;
$output = $urls;
//
// Hack to make quotes two levels deep.
//
// Replace [quote title=...]...[/quote]
$urls = "";
while(($start = strpos($output, "[quote"))) {
$pre = substr($output, 0, $start);
$url = substr($output, $start);
$end = strpos($url, "[/quote]") + strlen("[/quote]");
$url = substr($url, 0, $end - strlen("[/quote]"));
$post = substr($output, $start + $end + strlen("[/quote]") );
$header = substr($url, 0, strpos($url, "]") + 1);
$body = substr($url, strpos($url, "]") + 1);
$header = str_replace(array("title"), "", $header);
$header = str_replace(array("="), "<div class=\"title\">", $header);
$header = str_replace(array("[quote"), "<div class=\"quote\">", $header);
$header = str_replace(array("]"), " </div>", $header);
$urls .= $pre . $header . $body . "</div>";
$output = $post;
}
$urls .= $output;
$output = $urls;
// <b></b>
$b = array("[b]", "[B]");
$b = str_replace($b, "<strong>", $output);
$output = $b;
$b = array("[/b]", "[/B]");
$b = str_replace($b, "</strong>", $output);
$output = $b;
// <i></i>
$i = array("[i]", "[I]");
$i = str_replace($i, "<em>", $output);
$output = $i;
$i = array("[/i]", "[/i]");
$i = str_replace($i, "</em>", $output);
$output = $i;
// Replace newlines with <br/> tags
$nls = array("\n");
$nls = str_replace($nls, "<br/>\n", $output);
$output = $nls;
return $output;
}
?>
|