Auteur : genova
| Version : 16/01/2006 | | |
| |
Ce code permet de séparer des requêtes sur un caractère donné.
Il gère le fait qu'un ; peut être contenu dans une requête, de même que les \'.
Utile si on veut faire des scripts sql.
/*
** Même effet que la fonction explode() mais inhibe le délimiteur entre les
** simples quotes.
** -----
** $delimiter :: Délimiteur de chaines
** $str :: Chaîne de caractères
*/
function explode_parser($delimiter, $str)
{
$len = strlen($str);
for ($i = 0, $in_delimiter = TRUE, $quote_is_begin = FALSE, $tab = array(), $tmp = ''; $i < $len; $i++)
{
if ($str{$i} != $delimiter || ($quote_is_begin && $str{$i} == $delimiter))
{
if ($str{$i} == "'" && !$quote_is_begin)
{
$quote_is_begin = TRUE;
}
else if ($str{$i} == "'" && $quote_is_begin && $str{$i - 1} != '\\')
{
$quote_is_begin = FALSE;
}
$tmp .= $str{$i};
$in_delimiter = FALSE;
}
else if ($str{$i} == $delimiter && !$in_delimiter && !$quote_is_begin)
{
$in_delimiter = TRUE;
if (strlen($tmp) > 0)
{
$tab[] = $tmp;
}
$tmp = '';
}
}
if (strlen($tmp) > 0)
{
$tab[] = $tmp;
}
return ($tab);
} |
|
|
Les sources présentées sur cette page sont libres de droits
et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation
constitue une œuvre intellectuelle protégée par les droits d'auteur.
Copyright © 2006 Developpez Developpez LLC.
Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne
peut être faite de ce site ni de l'ensemble de son contenu : textes, documents
et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez
selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.