ignore spaties

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Johan Vels

Johan Vels

06/01/2015 14:13:37
Quote Anchor link
Hoi,

gebruik de volgende code om data te tonen op basis van een sessie uit de database.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
('sqlFilters', "voorenachternaam = '$voorenachternaam'");


Nu komt het voor dat in de database een teveel aantal spaties staan. Denk aan 2 of 3 spatie i.p.v. 1 spatie tussen voor en achternaam.

Nu wil ik dus dat hij de spaties ignored. En altijd dus de data toont hoeveel spaties er dan ook zijn.
Is dit mogelijk? Het verwijderen van het teveel aantal spaties in de database zelf is niet mogelijk.
 
PHP hulp

PHP hulp

13/03/2025 01:36:57
 
Wouter Van Marrum

Wouter Van Marrum

06/01/2015 14:26:04
Quote Anchor link
Probeer dit eens :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
('sqlFilters', "voorenachternaam='$voorenachternaam')


Misschien pakt hij die spaties mee?

of je doet het via preg replace

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$print
= preg_replace('/\s+/', ' ', $voorenachternaam);
?>
 
Ward van der Put
Moderator

Ward van der Put

06/01/2015 14:39:38
Quote Anchor link
Voor pattern matching in SQL kun je het jokerteken % gebruiken in de betekenis "nul of meer tekens". De string $voorenachternaam zou je daarmee (met de code van Wouter) kunnen instellen op bijvoorbeeld 'Jan%de%Jong' in plaats van 'Jan de Jong' met spaties.
 
Ivo P

Ivo P

06/01/2015 14:51:14
Quote Anchor link
Maar daarmee zou je ook "Janneke Den Ouden-de Jong" vinden
 
Ward van der Put
Moderator

Ward van der Put

06/01/2015 15:02:57
Quote Anchor link
Klopt, en als Jan de Jong is vernoemd naar zijn vader Jan de Jong, dan vind je ze ook beide.
Maar daarvoor is het ook een pattern match, geen exact match.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.