Finns flera lösningar, här är en.
<?php
$data="Matt!!!i har ma1121ssor med ost. &&::Osten var gul, ty???ckte äxpårten Matti.";
echo "Före: ".$data."<br><br>";
$data=ereg_replace("[^,\\.A-Za-z0-9-]","",$data);
echo "Efter: ".$data;
?>
4 svar · 270 visningar · startad av Matti
Tjoho
Jag håller på med ett litet registreringsformulär. Jag har slagit ihop all data från formuläret till en variabel, typ, $data. Ur den vill jag rensa bort alla tecken förutom a-z (versaler får förekomma), 0-9, bindesstreck, punkt och komma.
Det känns som om reguljära uttryck skulle kunna användas.. men hur?
Annars kan jag också använda en lösning där ett felmeddelande skapas om något "specialtecken" (förutom de som listades ovan) förekommer i $data. Men jag kommer inte på hur jag ska göra.
(red: jag kan ju självklart skriva in alla tecken som inte får förekomma manuellt, men det skulle vara betydligt bättre där man bara skriver in de tecken som får förekomma)
Finns flera lösningar, här är en.
<?php
$data="Matt!!!i har ma1121ssor med ost. &&::Osten var gul, ty???ckte äxpårten Matti.";
echo "Före: ".$data."<br><br>";
$data=ereg_replace("[^,\\.A-Za-z0-9-]","",$data);
echo "Efter: ".$data;
?>
Tack, tack.
Hum. Varför rensas inte " bort?
for ($i = 0; $i < $gaah; $i++) {
$_POST[$i]=ereg_replace('[^åÅäÄöÖ,\.A-Za-z0-9-]',"",$_POST[$i]);
}
" blir till \" till när innehållet i $_POST skrivs till en textfil. Testade stripslashes men fick inte det att fungera..?
Ditt mönster är lite fel, det borde se ut så här:
"[^åÅäÄöÖ,\.A-Za-z0-9\-]"
Angående "-problemet så har jag inget svar varför det blir så, men jag har för mig att jag alltid är tvungen att använda str_replace() på ".