2 functies maar 1 moet niet altijd toegepast worden
ik heb 1 file waar ik mijn functies in wil plaatsen (om het overzichtelijk te houden)
Nu heb ik een php code highlight die alles tussen omzet naar kleurcodes. (werkt)
ook heb ik een smiley functie die de smileys en hun activation key uit dbase haalt en :) omzet naar het corresponderende plaatje.
alleen hier komt het tricky gedeelte....
als ik vervolgens dit doe:
Gewone tekst etc etc. :)
Code (php)
gewone tekst verder :)
Ik wil dus dat de smiley die in de php code staat niet omgezet hebben.
Hoe exclude ik die in mijn smiley parser?
Code:
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
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
<?
// highlight source
function showsource ($code) {
ob_start();
$code = stripslashes($code);
highlight_string($code);
$colorsource = ob_get_contents();
ob_end_clean();
$colorsource = str_replace (" ", " ",$colorsource);
$colorsource = str_replace("<?", "<pre><?", $colorsource);
$colorsource = str_replace("?>", "?></pre>", $colorsource);
return $colorsource;
}
// Smileys parsen
function smiley($input)
{
$query=mysql_query("select id, keycode, image, CHAR_LENGTH(keycode) as lengte from smilies order by lengte desc");
while($data=mysql_fetch_object($query)) {
$key="$data->keycode";
$image="$data->image";
$input = str_replace($key, "<img src=\"$image\" align=\"absmiddle\">", $input);
}
return $input;
}
?>
// highlight source
function showsource ($code) {
ob_start();
$code = stripslashes($code);
highlight_string($code);
$colorsource = ob_get_contents();
ob_end_clean();
$colorsource = str_replace (" ", " ",$colorsource);
$colorsource = str_replace("<?", "<pre><?", $colorsource);
$colorsource = str_replace("?>", "?></pre>", $colorsource);
return $colorsource;
}
// Smileys parsen
function smiley($input)
{
$query=mysql_query("select id, keycode, image, CHAR_LENGTH(keycode) as lengte from smilies order by lengte desc");
while($data=mysql_fetch_object($query)) {
$key="$data->keycode";
$image="$data->image";
$input = str_replace($key, "<img src=\"$image\" align=\"absmiddle\">", $input);
}
return $input;
}
?>
Gewijzigd op 30/06/2005 17:56:00 door Robert Roose
hier.
Ik had dit ergens gelezen een tijd geleden, en het stond Ik werk trouwens niet met UBB Codes. Maar met HTML Area.
Heb de code toch maar even gebruikt en idd vervangt hij nu geen enkele :) meer..
Gewijzigd op 30/06/2005 19:37:00 door Robert Roose
werkende code:
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
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
<?
// Highlight functies
function phphighlite_replace($code) {
$code = trim(str_replace("\\\"", "\"", $code));
#$code = str_replace("\\\"","\"",$code);
if(empty($code)) {
return " ";
} else {
array_push($GLOBALS['phphighlite'], $code);
return "".(count($GLOBALS['phphighlite'])-1)."";
}
}
function phphighlite($id, $fixed=1) {
$code = $GLOBALS['phphighlite'][$id];
$splitted = explode("\n", $code);
$grootte = count($splitted)+1;
if(!strpos($code,"<?") && substr($code,0,2)!="<?") {
$code="<?".trim($code)."?>";
$addedtags=1;
}
ob_start();
$oldlevel=error_reporting(0);
highlight_string($code);
error_reporting($oldlevel);
$buffer = ob_get_contents();
ob_end_clean();
if(!empty($addedtags)) {
$openingpos = strpos($buffer,'<?');
$closingpos = strrpos($buffer, '?');
$buffer = substr($buffer, 0, $openingpos).substr($buffer, $openingpos+5, $closingpos-($openingpos+5)).substr($buffer, $closingpos+5);
}
$page_popup = "";
$return = $buffer;
return $return;
}
function ubb($string) {
// Code
$GLOBALS['phphighlite'] = array("dummy");
$string = preg_replace("_<\?(.*?)\?>_ise","phphighlite_replace('<? \\1 ?>')",$string);
#$string = preg_replace("_\[code\](.*?)\[/code\]_ise","phphighlite_replace('\\1')",$string);
// HTML codes wegwerken
$string = htmlspecialchars($string);
// Enters maken
$string = nl2br($string);
// Smileys
$query=mysql_query("select id, keycode, image, CHAR_LENGTH(keycode) as lengte from smilies order by lengte desc");
while($data=mysql_fetch_object($query)) {
$key="$data->keycode";
$image="$data->image";
$string = str_replace($key, "<img src=\"$image\" align=\"absmiddle\">", $string);
}
// Code
$string = preg_replace("_\[code\]([0-9])\[/code\]_ise", "phphighlite('\\1')", $string);
// Return
return $string;
}
?>
// Highlight functies
function phphighlite_replace($code) {
$code = trim(str_replace("\\\"", "\"", $code));
#$code = str_replace("\\\"","\"",$code);
if(empty($code)) {
return " ";
} else {
array_push($GLOBALS['phphighlite'], $code);
return "".(count($GLOBALS['phphighlite'])-1)."";
}
}
function phphighlite($id, $fixed=1) {
$code = $GLOBALS['phphighlite'][$id];
$splitted = explode("\n", $code);
$grootte = count($splitted)+1;
if(!strpos($code,"<?") && substr($code,0,2)!="<?") {
$code="<?".trim($code)."?>";
$addedtags=1;
}
ob_start();
$oldlevel=error_reporting(0);
highlight_string($code);
error_reporting($oldlevel);
$buffer = ob_get_contents();
ob_end_clean();
if(!empty($addedtags)) {
$openingpos = strpos($buffer,'<?');
$closingpos = strrpos($buffer, '?');
$buffer = substr($buffer, 0, $openingpos).substr($buffer, $openingpos+5, $closingpos-($openingpos+5)).substr($buffer, $closingpos+5);
}
$page_popup = "";
$return = $buffer;
return $return;
}
function ubb($string) {
// Code
$GLOBALS['phphighlite'] = array("dummy");
$string = preg_replace("_<\?(.*?)\?>_ise","phphighlite_replace('<? \\1 ?>')",$string);
#$string = preg_replace("_\[code\](.*?)\[/code\]_ise","phphighlite_replace('\\1')",$string);
// HTML codes wegwerken
$string = htmlspecialchars($string);
// Enters maken
$string = nl2br($string);
// Smileys
$query=mysql_query("select id, keycode, image, CHAR_LENGTH(keycode) as lengte from smilies order by lengte desc");
while($data=mysql_fetch_object($query)) {
$key="$data->keycode";
$image="$data->image";
$string = str_replace($key, "<img src=\"$image\" align=\"absmiddle\">", $string);
}
// Code
$string = preg_replace("_\[code\]([0-9])\[/code\]_ise", "phphighlite('\\1')", $string);
// Return
return $string;
}
?>