webForumDet fria alternativet

Kolla om visst värde finns i en sträng och byta ut den?

PHP

9 svar · 330 visningar · startad av fundersam

Medlem sedan aug. 2002101 inlägg
Frågan#1

Hur gör jag om jag t.ex gör en gästbok och jag vill att det skall komma en bild när användaren skriver :-) eller liknande?

Medlem sedan dec. 2001314 inlägg
#2
$text = "hej :)";
$text = ereg_replace( ":)", "<IMG SRC=\"smiley.gif\">", $text );
Medlem sedan mars 20007 896 inlägg
#3

Helst ska du använda str_replace() istället för ereg_replace()/preg_replace(). ereg_replace()/preg_replace() är för reguljära uttryck, och är på så sätt mycket söligare än str_replace().

Medlem sedan aug. 2002101 inlägg
#4

ok tack
str_replace() då! :P

Medlem sedan aug. 2002101 inlägg
#5

http://medlem.spray.se/doomquaker/gastbok/main.php
funkar ej se for urself

<head>
<title>Montellwebb! -Först med det bästa!</title>
<base target="main">
</head>

<body bgcolor="#9BA6EE" style="font-family: Arial; font-size: 8pt; font-weight: bold" vlink="#0000FF" alink="#0000FF">

<div align="left">
  <table border="1" cellspacing="1" width="100%" style="font-family: Arial; font-size: 9pt; font-weight: bold" bordercolor="#000000" height="500" bgcolor="#000000">
    <tr>
      <td width="100%" valign="top" align="left" bgcolor="#6D7CE7">

Skriv i gästboken! (längst ner..)

<? mysql_connect("localhost, doomquaker");
$inlagg = mysql_query("SELECT * FROM gastbok LIMIT 20");
	while($r = mysql_fetch_array($inlagg))
	{
	$namn = $r["namn"];
	$epost = $r["epost"];
	$med = $r["med"];
	$sida = $r["hemsida"];
	str_replace( ":-)", "<img src=\"glad.gif\">", $med );
	str_replace( ":-D", "<img src=\"flin.gif\">", $med );
	str_replace( ":-/", "<img src=\"sne.gif\">", $med );
	echo "<hr>Skribent: $namn <br>E-post: $epost <br>Hemsida:<a href=\"$sida\">$sida</a><br> Meddelande:<br>$med<br><br>";
	}
	?>
    <form method="POST" action="ny.php">Namn:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      <input type="text" size="25" name="namn"><br>
      Epost:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      <input type="text" name="epost" size="25"><br>
Hemsida:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      <input type="text" name="hemsida" size="25"><br>
Meddelande<textarea name="med" cols="25" rows="10" ></textarea><br><hr><br>
<input type="submit" value="Lägg till"></form></tr>
  </table>
</div>
Medlem sedan dec. 2001314 inlägg
#6

du måste skriva

$med = str_replace( ":-)" ...

osv.

Medlem sedan aug. 2002101 inlägg
#7

ok thx

Medlem sedan feb. 2003216 inlägg
#8

Kan man sätta in flera ord som ska bytas ut i samma str_replace eller måste man göra en ny för varje nytt ord som man vill byta ut?

Medlem sedan sep. 2000155 inlägg
#9

Med en array kan du ge flera saker olika ersättningar, tex

$med = str_replace(array(':-)', ':-('), array('<img src=\"glad.gif\">', '<img src=\"ledsen.gif\">'), $med );
Medlem sedan feb. 2003169 inlägg
#10

du kan även lagra alla smilies i en array, och sedan loopa igenom alla "taggar" och ersätta de...

268 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)