Bonjour,
voila, j'ai écrit une fonction qui comporte des instructions if(regex...) imbriqués. Et en fait, le mieux c'est de d'abord montrer le code....
Voila, le problème est tout simple : le 'yyyyyyyyyyyyyyy' ne s'affiche pas,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 for ($i=0;$i<sizeof($lines);$i++) #for each line of the source code of the file { ///////////////////////////////////////////////// ////////// SEARCHING FOR COMPANY NAME /////////// ///////////////////////////////////////////////// if(preg_match('/<h1 style="margin-left:20px;margin-top:5px;">(.*)<\/h1>/', $lines[$i], $matches)) { #echo 'Line = '.htmlspecialchars($lines[$i]).'<br>'; echo '<b>'.$fd_cpn.'- '.$matches[1].'</b><br>'; $db_company_name=ereg_replace("'","''",$matches[1]); /*if(in_array($db_company_name,$companyNames)) { #echo 'skip this file'; echo $fd_cpn.'- '.$matches[1].' already in array!<br>'; } else { #inserting company names to array $inserttoarray=array_push($companyNames,$db_company_name); }*/ ///////////////////////////////////////////////// ////////// SEARCHING FOR COMPANY TYPE /////////// ///////////////////////////////////////////////// echo 'xxxxxxxxxxxxxxxxxxxxxxxxx'; if(ereg("Firmentyp",$lines[$i])) { echo 'yyyyyyyyyyyyyyyyyyyyyy'; }
pas tant que se trouve le 'ereg' de imbriqué. Si j'avais par exemple une trim à la place,
ou n'importe quoi d'autres, le 'yyyyyyyyyyyyyyyyyyy' s'afficherait.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if(trim("Firmentyp",$lines[$i])) { echo 'yyyyyyyyyyyyyyyyyyyyyy'; }
N'est il donc pas possible d'embriquer des ereg a l'interieur d'autres ereg ou fonctions du meme type, comme preg_match par exemple?
Est ce que c'est ce que l'on sous-entend quand on dit 'ereg() doesn't support the nesting of markers?'
Merci pour votre réponse
knd
Partager