PeddaMedlem sedan juni 20004 880 inlägg
Vill köra str_replace innan jag lägger in en text i databasen. Texten som ska bytas ut finns i databasen (MySQL). Problemet som uppstår är att jag endast lyckas byta ut ordet som har id 1 i databasen, de andra orden hämtas tydligen inte.
Har testat med
$text = str_replace("".$row['word_bann']."","*****",$_POST['text']);
och sen lägga in $text i databasen
mysql_query("INSERT INTO links_data (links_url, links_text) VALUES ('{$_POST['url']}', '$text')");
Fredde MannenMedlem sedan nov. 20013 498 inlägg
Loopar du igenom innehållet.
Om du skall ersätta text i resten av "inläggen" måste du loopa.
Ex.
while($rad=mysql_fetch_array($result)) {
$text = str_replace($rad['word_bann'],"*****",$_POST['text']);
}
om du vill ersätta ord i texten som postas.
:q
PeddaMedlem sedan juni 20004 880 inlägg
Det är liknande det jag har försökt med.
Gör jag som i ditt exempel
while ($rad = mysql_fetch_array($links)) {
$text = str_replace($rad['word_bann'],"*****",$_POST['text']);
echo $text;
}
så skriver den ut t.ex hand*****handflatahandflata om jag postar ordet handflata och ordet flata ska ersättas. (databasen innehåller för tillfället 3 ord)
BrimbaMedlem sedan dec. 19992 966 inlägg
Vad händer om du gör såhär:
$counts = 0;
echo str_replace('handflatahandflatahandflata', '******', 'flata', $counts);
echo "<br>".$counts;
PeddaMedlem sedan juni 20004 880 inlägg
Får det inte att funka :(
Fredde MannenMedlem sedan nov. 20013 498 inlägg
Hmm.... :l
$strPostad = $_POST['text'];
while($rad=mysql_fetch_array($result)) {
$strText = str_replace($rad['word_bann'],"*****",$strPostad);
$i++;
}
echo $strText;
kanske :l
PeddaMedlem sedan juni 20004 880 inlägg
Tyvärr, den gör ingen str_replace. Skriver bara ut ordet som postas.
Är nog bättre att göra det när man hämtar från databasen istället för att lägga in i databasen med str_replace.
Återkommer om jag får mer problem.
Fredde MannenMedlem sedan nov. 20013 498 inlägg
Varför tänkte Vi inte på det innan! :e