Onbekend |
|
Hallo,
ik heb een zoekmachine die zoekt in een SF database,
waar hebreeuwse tekst in de \heb velden gecodeerd zit.
hier is mijn code:
<?php
if(!isset($_SESSION['sdbh-dictionary']))
$_SESSION['sdbh-dictionary'] = file($database) or die("Failed reading the database.");
$contents=$_SESSION['sdbh-dictionary'];
$found=false;
foreach($contents as $nmmr=>$curlijn)
{
$thisfound=false;
$lexfound=false;
$confound=false;
if(ereg("\\heb ".$searchstring,$curlijn))
{
$i=0;
while (!$thisfound && !eregi("\\00000",$contents[$i]))
{
$i++;
if(ereg("\\lex .*".$lexical,strtolower($contents[$nmmr+$i])) && strlen($contents[$nmmr+$i])>5)
$lexfound=true;
if(ereg("\\con .*".$contextual,strtolower($contents[$nmmr+$i])) && strlen($contents[$nmmr+$i])>5)
$confound=true;
if($lexfound&&$confound)
$thisfound=true;
}
}
if($thisfound)
{
$found=true;
echo "<a href=\"entry.php?id=".$nmmr."\" target=\"entry\">".convunicode(substr($curlijn,5))."</a><br />";
}
}
if(!$found)
echo "Nothing found!";
echo "</p></body></html>";
?>
<?php if(!isset($_SESSION['sdbh-dictionary'])) $_SESSION['sdbh-dictionary'] = file($database) or die("Failed reading the database."); $contents=$_SESSION['sdbh-dictionary']; $found=false; foreach($contents as $nmmr=>$curlijn) { $thisfound=false; $lexfound=false; $confound=false; if(ereg("\\heb ".$searchstring,$curlijn)) { $i=0; while (!$thisfound && !eregi("\\00000",$contents[$i])) { $i++; $lexfound=true; $confound=true; if($lexfound&&$confound) $thisfound=true; } } if($thisfound) { $found=true; echo "<a href=\"entry.php?id=".$nmmr."\" target=\"entry\">".convunicode (substr($curlijn,5))."</a><br />"; } } if(!$found) echo "</p></body></html>"; ?>
hij zoekt perfect als ik op AB en het lexical domein Plants en het contextual domein Navigation>Life zoek, maar hij neemt ook de woordjes op die geen lexical en/of contextual domein hebben.:s
Zo ziet mijn SF database eruit:
Citaat: heb Hebreeuwse woord
def Dit betekent het
lex Lexicale domein
con Contextueel domein
0000
heb Hebreeuwse woord
def Dit betekent het
lex Lexicale domein
con Contextueel domein
0000
heb Hebreeuwse woord dat sowieso in de resultaten wordt weergegeven
def Dit betekent het
0000
heb Hebreeuwse woord
def Dit betekent het
lex Lexicale domein
con Contextueel domein
0000
ENZ...
Kan iemand me helpen?
|