Problème avec nl2br et explode
Michel
-
Michel -
Michel -
Bonjour,
J'ai un problème en essayant d'utiliser explode à la suite de nl2br. il ne reconnait pas les br générés.
source PHP
code HTML du traitement:
J'ai un problème en essayant d'utiliser explode à la suite de nl2br. il ne reconnait pas les br générés.
source PHP
$a=nl2br($Tvillages2[0]);
$b=explode("<br>",$a);$n=count($b);
if($debug){echo "<h2>variable \$a $a tableau \$b </h2>";print_r($b);}
code HTML du traitement:
<h2>variable $a <br>
@#balistagrad (480|628) C64 5.966 33.729 37.816 22.727 142373 23794/24000<br>
@#ouah (489|626) C64 4.823 33.878 53.199 13.139 142373 7736/20476<br>
bonus argileux (493|627) C64 1.452 11.076 40.006 25.878 50675 1308/1613<br>
bouiboui (485|623) C64 5.165 21.200 2.935 25.874 94184 6206/10848<br>
colombo53 (476|625) C64 4.483 15.441 13.029 4.388 325337 1898/20476<br>
dolitib (491|624) C64 4.528 3.512 8.450 40.139 76604 6334/7896<br>
Herria Bonus (480|625) C64 4.816 7.903 4.827 24.178 94184 10203/10848<br>
Opocno (492|628) C64 1.404 2.048 41.681 9.119 50675 1473/3569<br>
Tabor (472|628) C64 3.486 6.345 25.670 26.079 62305 9255/9255<br>
Village sympa (475|629) C64 1.981 3.174 12.567 39.510 41217 3573/4183<br>
tableau $b </h2>Array
(
[0] => <br>
@#balistagrad (480|628) C64 5.966 33.729 37.816 22.727 142373 23794/24000<br>
@#ouah (489|626) C64 4.823 33.878 53.199 13.139 142373 7736/20476<br>
bonus argileux (493|627) C64 1.452 11.076 40.006 25.878 50675 1308/1613<br>
bouiboui (485|623) C64 5.165 21.200 2.935 25.874 94184 6206/10848<br>
colombo53 (476|625) C64 4.483 15.441 13.029 4.388 325337 1898/20476<br>
dolitib (491|624) C64 4.528 3.512 8.450 40.139 76604 6334/7896<br>
Herria Bonus (480|625) C64 4.816 7.903 4.827 24.178 94184 10203/10848<br>
Opocno (492|628) C64 1.404 2.048 41.681 9.119 50675 1473/3569<br>
Tabor (472|628) C64 3.486 6.345 25.670 26.079 62305 9255/9255<br>
Village sympa (475|629) C64 1.981 3.174 12.567 39.510 41217 3573/4183<br>
)
4 réponses
ce n'est pas <br />mais bien <br> désolé, je n'avais pas compris que cette partie représentait le résultat de l'exécution...
Ça veut donc dire que ta version de PHP est antérieure à 4.05, car c'est clairement indiqué dans la doc : <br> avant la version 4.05, <br /> depuis.
Quelle version as-tu ? Peut-être le explode avait-il lui aussi un comportement différent dans des version plus anciennes, car chez moi ça marche bien (en <br />). Je fouille dans mes archives
Ça veut donc dire que ta version de PHP est antérieure à 4.05, car c'est clairement indiqué dans la doc : <br> avant la version 4.05, <br /> depuis.
Quelle version as-tu ? Peut-être le explode avait-il lui aussi un comportement différent dans des version plus anciennes, car chez moi ça marche bien (en <br />). Je fouille dans mes archives
Il est possible, bien que je ne voie ça écrit nulle part, que des version de PHP un peu anciennes n'acceptent qu'un seul caractère comme séparateur et non pas une chaîne. Tous les exemples de la doc n'utilisent qu'un seul caractère.
Dans ce cas, tu peux t'en tirer en n'utilisant pas nl2br et en faisant le explode sur la fin de ligne "\n" (qui est un seul caractère même si on utilise deux signes pour l'écrire)
Dans ce cas, tu peux t'en tirer en n'utilisant pas nl2br et en faisant le explode sur la fin de ligne "\n" (qui est un seul caractère même si on utilise deux signes pour l'écrire)
$a=$Tvillages2[0];
$b=explode("\n",$a);$n=count($b);
if($debug){echo '<h2>variable \$a',nl2br($a),' tableau \$b </h2><pre>';print_r($b);echo '</pre>';}
Mais: j'ai d'abord essayé cette possibilité, mais si on regarde le source html, ce n'est pas <br />
mais bien <br>
donc pas encore la sollutions