login  Naam:   Wachtwoord: 
Registreer je!
 Forum

strpos , begin van regel zoeken.

Offline vinTage - 13/02/2006 09:49 (laatste wijziging 13/02/2006 10:48)
Avatar van vinTageNieuw lid Hoi, ik ben met mn zoekfunctie bezig en wil een klein stukje "beschrijving" tonen bij de zoekresultaten.
Dat werkt op zich prima met onderstaande code:
  1. <?php
  2. while ($resultaat = mysql_fetch_array($getspecials))
  3. {
  4. $positie = strpos($resultaat['content'], $gevraagd);
  5. $specials[] = "<tr><td><a href ='?ond=specials_details&amp;id=". $resultaat['id'] ."&amp;gezocht=".$gevraagd."#".$gevraagd."'>".stripslashes($resultaat['titel']) . "</a></td><td>...".substr($resultaat['content'], $positie-20, 50)."...</td></tr>";
  6. }
  7. ?>

Maar ik zou ipv die 3 puntjes aan het "begin", graag gewoon het begin van de regel hebben, maar ik heb geen idee hoe ik die kan vinden, iemand een idee ?
Thx

update
  1. <?php
  2. while ($resultaat = mysql_fetch_array($getspecials))
  3. {
  4. $positie = strpos($resultaat['content'], $gevraagd);
  5. $string = substr($resultaat['content'], $positie-20, 75);
  6. $nieuwpos = strpos($string, ". ");
  7. $nieuwstring = substr($string, $nieuwpos+2, 100);
  8. $specials[] = "<tr><td nowrap valign='top'><a href ='?ond=specials_details&amp;id=". $resultaat['id'] ."&amp;gezocht=".$gevraagd."#".$gevraagd."'>".stripslashes($resultaat['titel']) . "</a></td><td>".$nieuwstring."...</td></tr>";
  9. }
  10. ?>

Dit werkt ongeveer wel, als iemand een betere manier heeft hoor ik die graag natuurlijk !

2 antwoorden

Gesponsorde links
Offline Thomas - 13/02/2006 16:24 (laatste wijziging 13/02/2006 16:25)
Avatar van Thomas Moderator Hmm, je werkt dus met letterlijke matches (LIKE?)?

Misschien is het een beter idee om met FULLTEXT searches te werken? Heb je nog steeds hetzelfde "probleem" bij het afdrukken van je resultaten... Tis maar net hoe je "het begin van de regel" definieert .

Als de methode die je gebruikt werkt zou ik niet weten hoe je deze nog verder zou kunnen verbeteren.
Offline vinTage - 13/02/2006 16:43 (laatste wijziging 13/02/2006 16:48)
Avatar van vinTage Nieuw lid Ik werk met een fulltext search, maar op de eoa manier heb niet ALTIJD het goede resultaat.
Soms begint hij wel na ". " te echoen, maar soms ook niet, ik snap er niks van iig, ik heb ook geprobeerd om te echoen na "\n", maar zelfs dat gaat niet altijd goed.

Ik heb er dus maar voor gekozen om te beginnen met echoen vanaf het zoekwoord zelf.

ik had nog wel een cmd gevonden, maar die is voor php5 (host is 4*)
strpbrk

edit, ik "definieerde" het begin van een regel door het einde van de vorige regel te bepalen "punt spatie" (. )
  1. <?
  2. $nieuwpos = strpos($string, ". ");
  3. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.201s