Toon posts:

br vervangen...

Pagina: 1
Acties:

Verwijderd

Topicstarter
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
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
127
128
129
130
131
132
133
134
135
136
<?
include "config.php";

mysql_connect("$database_url","$gebruiker","$wachtwoord");
mysql_select_db("$database");

$select = "SELECT * FROM forum WHERE id = '$id'";
$query = mysql_query($select);

while ($list = mysql_fetch_object($query)) {

$bericht = "$list->bericht";

$bericht = htmlspecialchars($bericht);

$bericht = eregi_replace("http://[^[:space:]]+","<a href=\"\\0\" target=\"_blank\">\\0</a>",$bericht);

$bericht = eregi_replace("([a-zA-Z0-9_-]+)@([a-zA-Z0-9\._-]+)(\.[a-zA-Z]+)", "<a href=\"mailto:\\1@\\2\\3\">\\1@\\2\\3</a>", $bericht);

$bericht = eregi_replace("\n","<br>", $bericht);

$bericht = str_replace(":(", "[img]images/smileys/boosrood.gif[/img]", $bericht);

$bericht = str_replace(":)", "[img]images/smileys/smile.gif[/img]", $bericht);

$bericht = str_replace(":-)", "[img]images/smileys/smile.gif[/img]", $bericht);

$bericht = str_replace(":D", "[img]images/smileys/smile.gif[/img]", $bericht);

$bericht = str_replace(":d", "[img]images/smileys/smile.gif[/img]", $bericht);

$bericht = str_replace(";)", "[img]images/smileys/knipoog_dicht.gif[/img]", $bericht);

$bericht = str_replace(":S", "[img]images/smileys/verbaasd.gif[/img]", $bericht);

$bericht = str_replace(":s", "[img]images/smileys/verbaasd.gif[/img]", $bericht);

$bericht = str_replace(":p", "[img]images/smileys/hamer.gif[/img]", $bericht);

$bericht = str_replace(":P", "[img]images/smileys/hamer.gif[/img]", $bericht);

echo "<TABLE style=\"BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid\" cellSpacing=0 cellPadding=4 width=\"96%\" align=center border=0>

<TBODY><TR><TD align=left background=\"images/back.jpg\" height=21>

<FONT color=#ffffff><B>Forum &amp;raquo; $list->titel</B></FONT></TD></TR><TR>

<TD align=left bgColor=#ffffff>";

echo "$bericht";

echo "</td></tr><tr><td style=\"BORDER-TOP: #000000 1px solid\" align=\"right\" bgcolor=\"#F1F5F6\"><a href=\"index.php?pagina=forum/bewerken&amp;id=$list->id\" title=\"Je topic bewerken\">Bewerken</a> | <a href=\"index.php?pagina=forum/reageren&amp;id=$id\" title=\"Reageren op deze topic\">Reageren</a> | <a href=\"index.php?pagina=forum/index&amp;forum=$forum\" title=\"Terug naar het $forum forum\">Terug</a>";

echo "</td></tr></table><br>";

}


$select = "SELECT * FROM forum WHERE topic_id = '$id'";
$query = mysql_query($select);

$haalreacties = mysql_query("SELECT * FROM forum WHERE topic_id='$id'"); 
$aantalreacties = mysql_num_rows($haalreacties); 

if ($aantalreacties != 0) { 

function kleur($code) {
ob_start();
$code = stripslashes($code); 
highlight_string($code);
$code = ob_get_contents();
ob_end_clean();
return $code;
}

while ($list = mysql_fetch_object($query)) {

$bericht = "$list->bericht";
$bericht = str_replace("\n","<br>", $bericht);
$bericht = eregi_replace("http://[^[:space:]]+","<a href=\"\\0\" target=\"_blank\">\\0</a>",$bericht);

$bericht = eregi_replace("([a-zA-Z0-9_-]+)@([a-zA-Z0-9\._-]+)(\.[a-zA-Z]+)", "<a href=\"mailto:\\1@\\2\\3\">\\1@\\2\\3</a>", $bericht);


$bericht = str_replace(":(", "[img]images/smileys/boosrood.gif[/img]", $bericht);

$bericht = str_replace(":)", "[img]images/smileys/smile.gif[/img]", $bericht);

$bericht = str_replace(":-)", "[img]images/smileys/smile.gif[/img]", $bericht);

$bericht = str_replace(":D", "[img]images/smileys/smile.gif[/img]", $bericht);

$bericht = str_replace(":d", "[img]images/smileys/smile.gif[/img]", $bericht);

$bericht = str_replace(";)", "[img]images/smileys/knipoog_dicht.gif[/img]", $bericht);

$bericht = str_replace(":S", "[img]images/smileys/verbaasd.gif[/img]", $bericht);

$bericht = str_replace(":s", "[img]images/smileys/verbaasd.gif[/img]", $bericht);

$bericht = str_replace(":p", "[img]images/smileys/hamer.gif[/img]", $bericht);

$bericht = str_replace(":P", "[img]images/smileys/hamer.gif[/img]", $bericht);


echo "<TABLE style=\"BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid\" cellSpacing=0 cellPadding=4 width=\"96%\" align=center border=0>

<TBODY><TR><TD align=left background=\"images/back.jpg\" height=21>

<FONT color=#ffffff><B>Forum &amp;raquo; Re: $list->titel</B></FONT></TD></TR><TR>

<TD align=left bgColor=#ffffff>";

$bericht = preg_replace('_\\[php\](.*?)\\[/php\]_ise', "kleur(' \\1 ')", $bericht);echo("$bericht");

echo "</td></tr><tr><td style=\"BORDER-TOP: #000000 1px solid\" align=\"right\" bgcolor=\"#F1F5F6\"><a href=\"index.php?pagina=forum/bewerken&amp;id=$list->id\" title=\"Je topic bewerken\">Bewerken</a> | <a href=\"index.php?pagina=forum/reageren&amp;id=$id&amp;forum=$forum\" title=\"Reageren op deze topic\">Reageren</a> | <a href=\"index.php?pagina=forum/index&amp;forum=$forum\" title=\"Terug naar het $forum forum\">Terug</a> | <a href=\"#\" title=\"Terug naar boven\">Boven</a>";

echo "</td></tr></table><br>";

}
}

else {
echo "<TABLE style=\"BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid\" cellSpacing=0 cellPadding=4 width=\"96%\" align=center border=0>

<TBODY><TR><TD align=left background=\"images/back.jpg\" height=21>

<FONT color=#ffffff><B>Nog geen reacties</B></FONT></TD></TR><TR>

<TD align=left bgColor=#ffffff>";

echo "Er zijn nog geen reacties op deze topic gepost.";

echo "</td></tr></table><br>";
}
?>

Zo wordt de code die tussen [ php] en [/php ] staat wel vervangen door code, maar de code wordt niet goed weergegeven omdat <br> geëchod word. Dit moet dus weer vervangen worden maar dan alleen voor $code...
Ik zou niet weten hoe dit moet?!

Kan iemand me helpen?

  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
ik zie niet in waarom die die <br> verkeerd zou weergeven.
want je doet netjes die htmlspecialchars() voor datje die \n omzet.

verder:
gebruik 'nl2br()' hiervoor en niet een 'eregi'.

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


Verwijderd

Topicstarter
Hoe zou die regel dan worden, heb nog nooit met nl2br() gewerkt...

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12-09 21:31

Janoz

Moderator Devschuur®

!litemod

De regel die je zou moeten vervangen is
PHP:
1
2
3
<?
$bericht = str_replace("\n","<br>", $bericht);
?>

Maar het probleem waar jij tegenaan loopt staat niet in deze code. Die staat denk ik in de functie kleur.. Waarschijnlijk wordt php-code neergezet met de pre tag. Dus moet je in de functie kleur weer ff de <br>'s terug vervangen door \n's.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • elnino
  • Registratie: Augustus 2001
  • Laatst online: 03-09 05:13
Op maandag 21 januari 2002 20:29 schreef Janoz het volgende:
Maar het probleem waar jij tegenaan loopt staat niet in deze code. Die staat denk ik in de functie kleur.. Waarschijnlijk wordt php-code neergezet met de pre tag. Dus moet je in de functie kleur weer ff de <br>'s terug vervangen door \n's.
Dus in de functie kleur moet je weer iets zetten als str_replace("<br>", "\n"); En doe dat alvorens je highlight_string doet.

  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
Op maandag 21 januari 2002 20:27 schreef deGlee het volgende:
Hoe zou die regel dan worden, heb nog nooit met nl2br() gewerkt...
$bericht=nl2br($bericht);

klaar.

let wel,
nl2br()
maakt niet zulke breaks: <br>
maar zulke: <br />

dus als je em terug zet let daar dan op,
heeft mij ooit een bos haar gescheeld ;)

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


Verwijderd

preg_replace() is beter (sneller) dan ereg_replace().

  • Tuinhark
  • Registratie: April 2000
  • Laatst online: 14-09 12:05

Tuinhark

Retro

http://yapbb.sf.net/YBBtags

Misschien is dit iets voor je?

:Y)
Pagina: 1