Om jag skriver in en text i ett formulär och klickar på exempelvis "skicka" så vill jag att det ska sökas efter ett speciellt ord eller några olika ord. Om de orden finns med ska en uppgift köras..
Någon som hänger med? :p
Ex.
fil1.php innehåller ett formulär
När man klickar på "Skicka" så går det till fil2.php
fil2.php kollar igenom texten man skrev i formuläret i fil1.php och letar efter t.ex. "hora". Finns ordet hora med ska det skapas en fil i en annan tabell som visar att det kommit ett inlägg med ett "fult" ord.
$ord = "Innehåller den här strängen svärord?";
$var = strrchr($ord, "svärord");
if(!$var == FALSE) {
print("Ja, den innehåller svärordet: " . $var . "<p/>");
} else {
print("Inga svärord i den här strängen");
}
Testade nu men det ville inte fungera.. Gjorde man om $ord till en annan text visade den ändå fel och skrev något ord eller bokstav. Tycker det ser okej ut men något måste vara fel...
$svordommar = Array("svordom", "svärord");
$ord = "Innehåller den här strängen svärord?";
foreach ($svordommar as $val) {
if (strpos($ord, $val) !== FALSE) {
$var = TRUE;
echo "Ja, den innehåller svordommen: " . $val;
}
}
if ($var === FALSE) {
print("Inga svordommar i den här strängen");
}
"Inga svordommar i den här strängen" kom inte upp när det inte fanns några.. Annars fungerade det bra. Det behövs inte komma upp heller direkt för det ska bara hända en sak OM det finns med... Så tack för hjälpen
Om vi använder "ORDET" och har texten "Ortodoxa kyrkor" så säger den att "ORDET" finns med för att "Or" i "Ortodoxa" finns. Den ska ju bara skriva ut om HELA ordet finns med. Inte bara delar av ordet.
Den skriver dock ut OM det finns med.. Vilket den ska göra.
Jag skrev en liten funktion som du kanske kan använda/utveckla:
function contains_bad_words($s) {
$a_bad_words = array('foo', 'bar');
foreach ($a_bad_words as $word) {
if (preg_match('/\\b'.$word.'\\b/i',$s)) return true;
}
return false;
}
$approved = contains_bad_words('Detta är en teststräng som innehåller foo');
Vad påverkar $s? Visst kan man väl skriva onLoad="function contains_bad_words();" i body-taggen för att den ska ladda? Den ligger nämligen inte på samma sida som där man skriver själva texten... Och hur ska man klämma in i koden att den ska utföra en grej om orden finns med?
Ja, det är lite mer därtill men det var inte nödvändigt att med för denna kodsnutt. Men hur fungerar det när $bot_check = $_POST['inlagg'] kommer så pass långt ner.. $_POST['inlagg'] är väl $s?
134 ms totalt · 3 externa anrop · v20260731065814-full.55e59744