[Expression] ! pour les connaisseurs!

Pourquoi tu doubles ?
Les fonctions ont obligatoirement 2 lettres ?
Pour éviter _a() ?

j’ai reprit la 1ere partie d’origine [a-zA-Z][a-zA-Z_]

strlen(‹ to,to ›) ne marche plus ! le reste oui

[a-zA-Z][a-zA-Z_]*xxxxxx et [a-zA-Z_]*xxxxxx ça fait presque pareil…
1er cas :

  • 2 lettres mini, pas de _ en 1er

2ème cas :

  • 1 lettre mini parmi la liste

image
image
ça marche aussi

Mes fonctions users
image

Faut debugger et comprendre alors parce le regex paraît plus adapté non ?
C quoi tes fonctions user ?

Pas de restriction sur les noms des fonctions en php. Mais par secu on peut laisser 2 je pense

1 « J'aime »

il faut que je debug

	/* 
	 0 pour Absents
	 1 pour Présents
	 2 pour Tous
	 3 pour Admin
	 */
	public static function nbOccupants($_type=1) {
      	$list=self::listeOccupants($_type);
      	if($list != ""){
			return substr_count($list, ",")+1;
        }else{
          return 0;
        }
	}

	public static function isAdmin($_login) {
		try {
			$user=user::byLogin($_login);
			//var_dump($user);
			if (isset($user) && $user->getProfils()=="admin" ){
				return true;
			}
			} catch (Throwable $e) {}
		return false;
	}

	/* 
	 0 pour Absents
	 1 pour Présents
	 2 pour Tous
	 3 pour Admin
	 */
	public static function listeOccupants($_type) {
		$allCmd = cmd::all();
		$occupants=array();

		foreach($allCmd as $cmd) {
			if ( $cmd->getEqType_name()=='virtual' && $cmd->getName()=='Présence'){
				$nom=(eqLogic::byId($cmd->getEqLogic_id()))->getName();
				if($_type <= 2){
					if($_type==2 || $cmd->execCmd()==$_type){
						array_push($occupants, $nom);
					}
				}elseif($_type==3 && userFunction::isAdmin($nom)) {
					array_push($occupants, $nom);
				}
			}
		}
		return trim(implode(',',$occupants));
	}

J’ai des log::add partout :joy:

3 fois rien

C le match[2] qui n’existe pas ça.
Faut voir en dessous ce qu’il se passe, sûrement adapter vue qu’on a touché au regex

Et je pense que c toutes les fonctions non tag trigger round etc. Donc aussi le strlen !!

Suis sur les devoirs du petit là …

Faudrai limite sur chopper à plusieurs sur un discord ou slack …

Vous me faites mal au crane ! Seigneur je suis largué

ça doit avoir un lien avec la manière de lui coller le regex dans l’appel

sans les / / autours

		preg_match_all("[a-zA-Z][a-zA-Z_]+(\((?:[()]|[^()]|(?1))*\))", $_expression, $matches, PREG_SET_ORDER);

ça passe mieux mais ça coince un peu quand même


[Tue Dec 08 18:45:50.941646 2020] [php7:warn] [pid 644] [client 127.0.0.1:41402] PHP Warning:  preg_match_all(): Unknown modifier '[' in /var/www/html/core/class/scenarioExpression.class.php on line 1142
[Tue Dec 08 18:45:50.946394 2020] [php7:warn] [pid 644] [client 127.0.0.1:41402] PHP Warning:  preg_match_all(): Unknown modifier '[' in /var/www/html/core/class/scenarioExpression.class.php on line 1142
[Tue Dec 08 18:45:50.949963 2020] [php7:warn] [pid 644] [client 127.0.0.1:41402] PHP Warning:  preg_match_all(): Unknown modifier '[' in /var/www/html/core/class/scenarioExpression.class.php on line 1142
[Tue Dec 08 18:45:50.953272 2020] [php7:warn] [pid 644] [client 127.0.0.1:41402] PHP Warning:  preg_match_all(): Unknown modifier '[' in /var/www/html/core/class/scenarioExpression.class.php on line 1142
[Tue Dec 08 18:45:52.030485 2020] [php7:warn] [pid 12795] [client 127.0.0.1:41406] PHP Warning:  preg_match_all(): Unknown modifier '[' in /var/www/html/core/class/scenarioExpression.class.php on line 1142

J’ai des tonnes de récursions et il n’appelle pas la fonction php … le _nbCall doit couper je pense

Je dis une connerie ou preg_match_all() renvoit toujours un array ? array vide si il ne trouve rien (et false si erreur)
Du coup le if (is_array) ne sert à rien ??
count($matches) > 0 ??

preg_match_all("/([a-zA-Z][a-zA-Z_]*?)(\((?:[()]|[^()]|(?1))*\))/", $_expression, $matches, PREG_SET_ORDER);
		if (is_array($matches)) {

Valeurs de retour

Retourne le nombre de résultats qui satisfont le masque complet, ou FALSE si une erreur survient.

oui exact, mais là on check pas le retour mais le $matches passé en param, donc en effet c’est toujours un array !

Mes logs montrent qu’on tape toujours dans le _nbCall
$result = self::setTags($result, $_scenario, $_quote, $_nbCall++);

fonction récursive qui se mort la queue :

0000|[2020-12-08 19:10:16]ERROR : preg_match_all : [["strlen('to,to')","strlen","('to,to')"]]
0001|[2020-12-08 19:10:16]ERROR : preg_match_all : [["strlen('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')"]]
0002|[2020-12-08 19:10:16]ERROR : preg_match_all : [["strlen('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')"]]
0003|[2020-12-08 19:10:16]ERROR : preg_match_all : [["strlen('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')"]]
0004|[2020-12-08 19:10:16]ERROR : preg_match_all : [["strlen('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')"]]
0005|[2020-12-08 19:10:16]ERROR : preg_match_all : [["strlen('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')"]]
0006|[2020-12-08 19:10:16]ERROR : preg_match_all : [["strlen('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')"]]
0007|[2020-12-08 19:10:16]ERROR : preg_match_all : [["strlen('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')"]]
0008|[2020-12-08 19:10:16]ERROR : $function : "strlen"
0009|[2020-12-08 19:10:16]ERROR : $match[2]: "('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')"
0010|[2020-12-08 19:10:16]ERROR : after () check arguments : ["('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"]
0011|[2020-12-08 19:10:16]ERROR : $function : "strlen"
0012|[2020-12-08 19:10:16]ERROR : $match[2]: "('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')"
0013|[2020-12-08 19:10:16]ERROR : after () check arguments : ["('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"]
0014|[2020-12-08 19:10:16]ERROR : $function : "strlen"
0015|[2020-12-08 19:10:16]ERROR : $match[2]: "('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')"
0016|[2020-12-08 19:10:16]ERROR : after () check arguments : ["('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"]
0017|[2020-12-08 19:10:16]ERROR : $function : "strlen"
0018|[2020-12-08 19:10:16]ERROR : $match[2]: "('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')"
0019|[2020-12-08 19:10:16]ERROR : after () check arguments : ["('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"]
0020|[2020-12-08 19:10:16]ERROR : $function : "strlen"
0021|[2020-12-08 19:10:16]ERROR : $match[2]: "('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')"
0022|[2020-12-08 19:10:16]ERROR : after () check arguments : ["('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"]
0023|[2020-12-08 19:10:17]ERROR : $function : "strlen"
0024|[2020-12-08 19:10:17]ERROR : $match[2]: "('to,to')","strlen","('to,to')","strlen","('to,to')","strlen","('to,to')"
0025|[2020-12-08 19:10:17]ERROR : after () check arguments : ["('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"",""strlen"",""('to","to')"]
0026|[2020-12-08 19:10:17]ERROR : $function : "strlen"
0027|[2020-12-08 19:10:17]ERROR : $match[2]: "('to,to')","strlen","('to,to')"
0028|[2020-12-08 19:10:17]ERROR : after () check arguments : ["('to","to')"",""strlen"",""('to","to')"]
0029|[2020-12-08 19:10:17]ERROR : $function : "strlen"
0030|[2020-12-08 19:10:17]ERROR : $match[2]: "('to,to')"
0031|[2020-12-08 19:10:17]ERROR : after () check arguments : ["('to","to')"]

:flushed:

Purée j’ai encore un éclatage de virgules !!
after () check arguments : ["(‹ to","to ›)"]

Téléphone fini… Il faut que je raccroche les wagons là

il y a une inversion de $matches[1] et $matches[2] qq part

Ouais le regex fait qu’on conserve les parenthese, j’arrive à passer l’explode des virgules.

mais çà, çà marche plus: #time# == 1 && #smois# == bibi

embarrassant :rofl:

La fonction récursive me parait quand même super chelou …

C’est le B**…
ça te quote, requote presque tout !!

Ah si çà marche !! j’ai remi l’autoquote !! il met aussi les requestTags entre quotes faut que je verifie çà

Là tout mes tests passent :

testExpr("strlen('to,to')");
testExpr("round(#mois#*(-1.15*#mois#+15)+5)");
testExpr("substr('toto et titi', 0, 8)");
testExpr('#[Maison][Thermostat][Order]# < 30 && #[Maison][Météo][Temperature]# > -30');
testExpr('variable(none, 2) > 1');
testExpr('variable(rhasspyWakeWord) == "bibi"');
testExpr("#time# == 1 && #smois# == 'December'");

mais seulement avec autoquote

EDIT : bingo !
#smois# == "December"
avec autoquote I will test: "December" == "December"
sans autoquote I will test: December == "December"

on progresse !!

Donc là avec la nouvelle regex, on est équivalent au fonctionnement de matin avec/sans autoquote ?