[SQL/REGEXP] Probleem met regexp in sql-query

Pagina: 1
Acties:

  • user643
  • Registratie: Februari 2002
  • Laatst online: 03-09-2025

user643

Sweet Surrender

Topicstarter
ik ben op het moment bezig met een search engine voor een website.
daarbij gebruik ik reguliere expressies om op hele woorden te zoeken, ook moet ie woorden kunnen vinden die voor een comma of punt, etc staan.

tot zover heb ik dit:
PHP:
4
5
$sql_where .= " (bericht REGEXP '(^|[- \('])$zoek_woorden[$i](?=([- ,.\)?]|$))' 
OR titel REGEXP '(^|[- \('])$zoek_woorden[$i](?=([- ,.\)?]|$))')";

maar het lijkt dat sql dat niet zo leukt schijnt te vinden als je een single-quote of een = teken in je regexp gebruikt.
Hoe is dit op te lossen of is er een andere manier voor...?

[ Voor 5% gewijzigd door user643 op 01-07-2004 12:09 ]


  • Shadowman
  • Registratie: Januari 2002
  • Niet online
Escapen van singlequote van de = geen effect?

btw de singlequote gebruik je ook om de hele regexp heen en dan gaat het fout bij het vinden van het einde van de regexp.

  • user643
  • Registratie: Februari 2002
  • Laatst online: 03-09-2025

user643

Sweet Surrender

Topicstarter
escapen werkt in dit geval niet, want de backslash is ook een onderdeel van regexp.

hoe kan je dat probleem met die quotes dan verhelpen, ik heb van alles al geprobeerd. Anyone :?

  • Shadowman
  • Registratie: Januari 2002
  • Niet online
user643 schreef op 01 juli 2004 @ 12:48:
escapen werkt in dit geval niet, want de backslash is ook een onderdeel van regexp.

hoe kan je dat probleem met die quotes dan verhelpen, ik heb van alles al geprobeerd. Anyone :?
de backslash is niet de enige manier om te escapen en eventueel kun je de backslash ook escapen.

ESCAPE < keyword voor escapen bij iig mysql.

  • user643
  • Registratie: Februari 2002
  • Laatst online: 03-09-2025

user643

Sweet Surrender

Topicstarter
ben er nog steeds niet uit! Iemand nog ideeen?