par
ynx » 21 avr. 2022, 12:48
Bonjour Wisefun,
Ta condition strpos($d, '[""]') !== false ne semble en effet pas correcte (elle sera toujours false). Avec cette instruction, strpos() cherche si la chaine '[""]' est présente dans la variable $d, or cette chaine n'existe pas dans cette variable.
Si tu utilises PHP 8, tu peux utiliser la nouvelle fonction str_ends_with() pour vérifier si la chaine se termine par un crochet fermant ou non :
https://www.php.net/manual/fr/function. ... s-with.php
Si tu utilises une version antérieur de PHP, tu peux aussi accéder aux caractères d'une chaine en y accédant comme un tableau, par exemple :
<?php
$d = '[ADC_START][SDP]1[GUICHET]2[DEM]3[USER_CMDB_DIF_NON]4[[DEM_PDT_PCF < ASSET_XXX> < TPX_1>]';
// affiche le premier caractère de la chaine $d
echo $d[0]; // [
// affiche le deuxième caractère de la chaine $d
echo $d[1]; // A
// affiche le dernier caractère de la chaine $d
echo $d[strlen($d) - 1]; // ]
if ($d[strlen($d) - 1] === ']') {
echo 'la chaine $d se termine par un crochet fermant';
} else {
echo 'la chaine $d ne se termine pas par un crochet fermant';
}
Bonjour Wisefun,
Ta condition strpos($d, '[""]') !== false ne semble en effet pas correcte (elle sera toujours false). Avec cette instruction, strpos() cherche si la chaine '[""]' est présente dans la variable $d, or cette chaine n'existe pas dans cette variable.
Si tu utilises PHP 8, tu peux utiliser la nouvelle fonction str_ends_with() pour vérifier si la chaine se termine par un crochet fermant ou non :
https://www.php.net/manual/fr/function.str-ends-with.php
Si tu utilises une version antérieur de PHP, tu peux aussi accéder aux caractères d'une chaine en y accédant comme un tableau, par exemple :
[PHP]<?php
$d = '[ADC_START][SDP]1[GUICHET]2[DEM]3[USER_CMDB_DIF_NON]4[[DEM_PDT_PCF < ASSET_XXX> < TPX_1>]';
// affiche le premier caractère de la chaine $d
echo $d[0]; // [
// affiche le deuxième caractère de la chaine $d
echo $d[1]; // A
// affiche le dernier caractère de la chaine $d
echo $d[strlen($d) - 1]; // ]
if ($d[strlen($d) - 1] === ']') {
echo 'la chaine $d se termine par un crochet fermant';
} else {
echo 'la chaine $d ne se termine pas par un crochet fermant';
}[/PHP]