Jag har nu jobbat några dagar med att ta fram en sök function med Regular expressions, men inte lyckas,
Det jag vill söka i en databas, med eregi() ( PHP )
Så här långt har jag kommit "(Drömmar)|(man)"
då vill jag söker efter "Drömmar" och "man"
Men det det blir bara "drömma" eller "man" inte båda och...
Vet någon hur jag ska skriva? jag har provat med && tex "(Drömmar)&&(man)"
Men det har inte fungrat:)
Så här långt har jag kommit, ( databasen bestå av rader som jag läser i fårn)
<?php
$finddata="Drömmar man";
$arry = explode("\n", file_get_contents("db/word_vis.dat"));
$ord=strlen($_REQUEST["ord"]);
$vowels = array("!", ".", ";", ",", ":", "<", ">", "?", "–" , "\"" , "'", " ");
$sokstring = "(" .
str_replace(" ", ")&&(",
str_replace($vowels, ")|(" ,
str_replace("&", "\\&" , $finddata)
)
)
. ")";
foreach ($arry as $key => $value) {
$ord>0 && eregi("(ordspråk)",$value)==1?
true:(eregi($sokstring, $value)?
$utparry[count($utparry)+1]=$value:false);
}
//skriver ut kod
echo $sokstring;
foreach ($utparry as $key => $value) {
echo $value . "<hr>";
}
?>