webForumDet fria alternativet

ok med space men inte med \n

PHP

3 svar · 296 visningar · startad av Kim

Medlem sedan jan. 20007 697 inlägg
Frågan#1

Det är så här att jag har en liten funktion som ska scanna av en text efter "fula" ord och sen rapportera dom till mig. Då använder jag den här raden för att kolla om ordet finns.

$newword = ($this->easyFoolMode != 1 ? $word : " ".$word." ");

easyFoolMode är en variabel som antingen är 1 eller 0 beroende på hur lätt man ska kunna lura scriptet. Är variabeln satt till 1 så måste ordet stå för sig självt för att scriptet ska reagera. Som det är nu så måste det vara ett mellanslag följt av ordet som i sin tur står före ännu ett mellanslag. Problemet är ju om det står precis i början eller slutet av rad, då händer ingenting och jag får aldrig veta något.

Har testat diverse olika saker, men inget har fungerat. Kanske är det jag som har varit knölig, kanske har jag bara inte tänkt ordentligt, men det vore nice om någon kunde hjälpa mig med det här. :)

Medlem sedan mars 20007 896 inlägg
#2

Kalla mig trög, men jag förstår inte riktigt. ;)

Vill du skriva ut variabeln $newword sedan, för att se hur det ser ut? Isf borde du kunna använda hårda mellanslag (   ) istället för mjuka - väl?

Medlem sedan jan. 20007 697 inlägg
#3

Säg så här...

Det handlar om att upptäcka om något fult ord finns i en text. Vi säger en användare har matat in denna text:
Titta, där står en nallebjörn mitt på vägen
Det är ordet nallebjörn som är det fula ordet här, det vill jag kunna anmärka på. Vad jag ska göra med variabeln spelar ingen roll, resultatet har jag redan tagit hand om. ;)
Men om användaren har matat in detta,
Titta, där står en
nallebjörn
mitt på vägen
så blir allt bara fel eftersom det då inte är ett direkt mellanslag innan och efter nallebjörn. Det är här jag vill få en anmärkning oavsett om det är ett mellanslag eller en radbrytning.

Förstår du bättre nu? :)

Medlem sedan mars 20007 896 inlägg
#4

Jäpp, nu tror jag att jag hänger med. :)

Regular expressions?

$strang = "Titta, där står en\nnallebjörn\nmitt på vägen";
$nystrang = preg_replace ( "'[\n|\060]nallebjörn[\n|\060]'is", "nallebjörn", $strang );

:q

267 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
138 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)