Hur gör man för att dela upp en söksträng så att man får varje ord för sig (i en array)
Du använder funktionen explode(). :)
3 svar · 415 visningar · startad av lillebror
Hur gör man för att dela upp en söksträng så att man får varje ord för sig (i en array) som man sedan kan stoppa in i en SQL-sats?
Strängen skulle kunna se ut så här:
"Flyg utbildning sidvindslandning"
En användare kan ju ha felaktigt matat in mellanrum enligt ovan. De får man väl försöka ta bort på något listigt sätt? Trim() kanske?
Hur gör man för att dela upp en söksträng så att man får varje ord för sig (i en array)
Du använder funktionen explode(). :)
Jag misstänkte att det kunde vara så. Det jag klurade lite på var om en användare av misstag fått in några fler blanksteg mellan orden. Då kanske mönstret inte stämmer längre om man i funktionen explode() anger att den ska separera efter varje mellanslag?
Eller också kanske man kan köra med att bryta efter varje mellanslag och i slutändan kör man trim på samtliga ord?
Ja, du skulle kunna lösa det såhär:
$string = "Jag känner spöket lajban";
$word = explode(" ", $string);
foreach ($word as $key => $value) {
$word[$key] = trim($value);
mysql_query("
insert into
table (
word
) values (
'$word[$key]'
)
") or die(mysql_error());
}