PHP 5.4.33 Released

La classe MongoRegex

(PECL mongo >=0.8.1)

Introduction

Cette classe peut être utilisée pour créer des expressions rationnelles. Ces expressions pourront être ensuite utilisées pour interroger la base de données et trouver les chaînes correspondantes. Vous pouvez également les sauvegarder en base de données et les récupérer par la suite.

Une expression rationnelle est constituée de quatre parties. Tout d'abord, un / comme délimiteur de départ, puis, le masque, ensuite, un autre / et pour finir, une chaîne contenant les drapeaux.

Exemple #1 Masque d'une expression rationnelle

/masque/drapeaux

Mongo reconnait 6 options d'expressions rationnelles :

  • i : Insensible à la casse

  • m : Multi-lignes

  • x : Peut contenir des commentaires

  • l : Locale

  • s : Le caractère "." correspond à n'importe quel caractère, y compris les nouvelles lignes

  • u : Unicode possible

Synopsis de la classe

MongoRegex {
/* Champs */
public string $regex ;
public string $flags ;
/* Méthodes */
public __construct ( string $regex )
public string __toString ( void )
}

Sommaire

add a note add a note

User Contributed Notes 2 notes

up
1
vinicius at codemakers dot com dot br
8 months ago
/*
Use the "i" option to make searches with Case Insensitive
Find results beginning with $q
*/

$search = "V";

// Case Sensitive

$where = array('name' => array('$regex' => new MongoRegex("/^$search/")));
$cursor = $collection->find($where);

//Case Insensitive

$where = array('name' => array('$regex' => new MongoRegex("/^$search/i")));
$cursor = $collection->find($where);
up
0
benyounes dot ousama at gmail dot com
3 years ago
First you must declare and define your regexObj
Here I am looking for all entry of my database wich is like "%Nicolas%" and the /i param is used for Insensitive Case
$regexObj = new MongoRegex("/^Nicolas/i");

<?php
// I attach the regexObj to my Where Condition
$where = array("ctname" => $regexObj);

// Execute the request
$resultset = $this->db->Infos->find($where);

// Parsing the results
while ($resultset->hasNext())
{
        
$clientObj = $resultset->getNext();
          echo
"Client Name: ".$clientObj["cname"]."</br>";
}
?>
To Top