webForumDet fria alternativet

Sök Med Regular expressions ( PHP )

1 svar · 316 visningar · startad av FIG-GHD742

FIG-GHD742Medlem sedan apr. 20079 inlägg
#1

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>";
}

?>
voigtann1Medlem sedan juni 20019 519 inlägg
#2

Flyttat från Regular Expressions på grund av att provtiden för forumet har gått ut.

122 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
119 ms — hämta tråd, inlägg och bilagor (db)