Bonsoir Monsieur
Finalement, voici le code résistant à toutes les modifications possibles
des fonctions suivant les versions de PHP.
Ce code est destiné, à fonctionner en mode ISO-8859-1 exclusivement, ce
qui implique simplement, que le script soit codé en ISO, et soit
interprété en mode ISO, ce qui devrait rester possible quelle que soit
l'évolution à terme de PHP, si la programmation php en mode iso reste
possible.
Celà veut dire, que la seule possibilité pour que ce code ne soit plus
valide, serait que des versions ultérieures de PHP, rendent strictement
obligatoire, un mode de codage de caractères différent de ISO-8859-1 et
ISO-8859-15, ce qui vous l'avouerez, est plus que très improbable.
Voici le code :
function array_to_to_str($tmp_array)
{
$str = "";
for($i = 0; $i < count($tmp_array); $i++)
$str .= $tmp_array[$i];
return($str);
}
function str_to_to_array($str)
{
$tmp_array = array();
for($i = 0; $i < strlen($str); $i++)
$tmp_array[$i] = substr($str, $i, 1);
return($tmp_array);
}
Ce code sous-entend, que la fonction substr() perdurera à terme dans le
futur pour toutes les versions ultérieures de PHP
Pour adapter le code de mon site, avec $str étant le nom de la variable
sélectionnée jusqu'ici par l'opérateur [] , il me suffira de rajouter,
avant chaque groupes de sélections, la ligne suivante :
$str = str_to_to_array($str);
Et après chaque groupes de sélections, la ligne :
$str = array_to_to_str($str);
Pour retrouver une chaîne de caractère modifiée par la sélection+
modification sur l'array temporaire $str
Si j'ai besoin de sauvegarder la variable chaîne $str avant un groupe de
sélections, je peux le faire très facilement, puis adapter le code de
manière très facile.
Il me suffit d'incorporer le code de ces deux fonctions dans mon script
php de configuration, inclus dans tous mes scripts php, pour disposer de
ces deux fonctions, sans aucune possibilité de confusion avec des
fonctions existantes.
Je pense, qu'en ce qui me concerne, le problème est résolu.
Bien amicalement.
Jean François Ortolo
Bonsoir Monsieur
Finalement, voici le code résistant à toutes les modifications possibles
des fonctions suivant les versions de PHP.
Ce code est destiné, à fonctionner en mode ISO-8859-1 exclusivement, ce
qui implique simplement, que le script soit codé en ISO, et soit
interprété en mode ISO, ce qui devrait rester possible quelle que soit
l'évolution à terme de PHP, si la programmation php en mode iso reste
possible.
Celà veut dire, que la seule possibilité pour que ce code ne soit plus
valide, serait que des versions ultérieures de PHP, rendent strictement
obligatoire, un mode de codage de caractères différent de ISO-8859-1 et
ISO-8859-15, ce qui vous l'avouerez, est plus que très improbable.
Voici le code :
function array_to_to_str($tmp_array)
{
$str = "";
for($i = 0; $i < count($tmp_array); $i++)
$str .= $tmp_array[$i];
return($str);
}
function str_to_to_array($str)
{
$tmp_array = array();
for($i = 0; $i < strlen($str); $i++)
$tmp_array[$i] = substr($str, $i, 1);
return($tmp_array);
}
Ce code sous-entend, que la fonction substr() perdurera à terme dans le
futur pour toutes les versions ultérieures de PHP
Pour adapter le code de mon site, avec $str étant le nom de la variable
sélectionnée jusqu'ici par l'opérateur [] , il me suffira de rajouter,
avant chaque groupes de sélections, la ligne suivante :
$str = str_to_to_array($str);
Et après chaque groupes de sélections, la ligne :
$str = array_to_to_str($str);
Pour retrouver une chaîne de caractère modifiée par la sélection+
modification sur l'array temporaire $str
Si j'ai besoin de sauvegarder la variable chaîne $str avant un groupe de
sélections, je peux le faire très facilement, puis adapter le code de
manière très facile.
Il me suffit d'incorporer le code de ces deux fonctions dans mon script
php de configuration, inclus dans tous mes scripts php, pour disposer de
ces deux fonctions, sans aucune possibilité de confusion avec des
fonctions existantes.
Je pense, qu'en ce qui me concerne, le problème est résolu.
Bien amicalement.
Jean François Ortolo
Bonsoir Monsieur
Finalement, voici le code résistant à toutes les modifications possibles
des fonctions suivant les versions de PHP.
Ce code est destiné, à fonctionner en mode ISO-8859-1 exclusivement, ce
qui implique simplement, que le script soit codé en ISO, et soit
interprété en mode ISO, ce qui devrait rester possible quelle que soit
l'évolution à terme de PHP, si la programmation php en mode iso reste
possible.
Celà veut dire, que la seule possibilité pour que ce code ne soit plus
valide, serait que des versions ultérieures de PHP, rendent strictement
obligatoire, un mode de codage de caractères différent de ISO-8859-1 et
ISO-8859-15, ce qui vous l'avouerez, est plus que très improbable.
Voici le code :
function array_to_to_str($tmp_array)
{
$str = "";
for($i = 0; $i < count($tmp_array); $i++)
$str .= $tmp_array[$i];
return($str);
}
function str_to_to_array($str)
{
$tmp_array = array();
for($i = 0; $i < strlen($str); $i++)
$tmp_array[$i] = substr($str, $i, 1);
return($tmp_array);
}
Ce code sous-entend, que la fonction substr() perdurera à terme dans le
futur pour toutes les versions ultérieures de PHP
Pour adapter le code de mon site, avec $str étant le nom de la variable
sélectionnée jusqu'ici par l'opérateur [] , il me suffira de rajouter,
avant chaque groupes de sélections, la ligne suivante :
$str = str_to_to_array($str);
Et après chaque groupes de sélections, la ligne :
$str = array_to_to_str($str);
Pour retrouver une chaîne de caractère modifiée par la sélection+
modification sur l'array temporaire $str
Si j'ai besoin de sauvegarder la variable chaîne $str avant un groupe de
sélections, je peux le faire très facilement, puis adapter le code de
manière très facile.
Il me suffit d'incorporer le code de ces deux fonctions dans mon script
php de configuration, inclus dans tous mes scripts php, pour disposer de
ces deux fonctions, sans aucune possibilité de confusion avec des
fonctions existantes.
Je pense, qu'en ce qui me concerne, le problème est résolu.
Bien amicalement.
Jean François Ortolo
Le 07/05/2012 22:42, Jean Francois Ortolo a écrit :
Bonsoir Monsieur
Finalement, voici le code résistant à toutes les modifications possibles
des fonctions suivant les versions de PHP.
Ce code est destiné, à fonctionner en mode ISO-8859-1 exclusivement, ce
qui implique simplement, que le script soit codé en ISO, et soit
interprété en mode ISO, ce qui devrait rester possible quelle que soit
l'évolution à terme de PHP, si la programmation php en mode iso reste
possible.
Celà veut dire, que la seule possibilité pour que ce code ne soit plus
valide, serait que des versions ultérieures de PHP, rendent strictement
obligatoire, un mode de codage de caractères différent de ISO-8859-1 et
ISO-8859-15, ce qui vous l'avouerez, est plus que très improbable.
Voici le code :
function array_to_to_str($tmp_array)
{
$str = "";
for($i = 0; $i < count($tmp_array); $i++)
$str .= $tmp_array[$i];
return($str);
}
function str_to_to_array($str)
{
$tmp_array = array();
for($i = 0; $i < strlen($str); $i++)
$tmp_array[$i] = substr($str, $i, 1);
return($tmp_array);
}
Ce code sous-entend, que la fonction substr() perdurera à terme dans le
futur pour toutes les versions ultérieures de PHP
Pour adapter le code de mon site, avec $str étant le nom de la variable
sélectionnée jusqu'ici par l'opérateur [] , il me suffira de rajouter,
avant chaque groupes de sélections, la ligne suivante :
$str = str_to_to_array($str);
Et après chaque groupes de sélections, la ligne :
$str = array_to_to_str($str);
Pour retrouver une chaîne de caractère modifiée par la sélection+
modification sur l'array temporaire $str
Si j'ai besoin de sauvegarder la variable chaîne $str avant un groupe de
sélections, je peux le faire très facilement, puis adapter le code de
manière très facile.
Il me suffit d'incorporer le code de ces deux fonctions dans mon script
php de configuration, inclus dans tous mes scripts php, pour disposer de
ces deux fonctions, sans aucune possibilité de confusion avec des
fonctions existantes.
Je pense, qu'en ce qui me concerne, le problème est résolu.
Bien amicalement.
Jean François Ortolo
Malheureusement pour vous, il ne l'est pas.
$str = str_to_to_array('£$épourquoi ç a @& à');
donnera quelque chose d'éronné.
http://codepad.org/pm2pZy6y
(ce même bout de code a fait planter http://codepad.viper-7.com d'ailleurs
J'ai mis 20 caractères et pourtant le tableau résultant en aura 24.
Car £, é, ç, à sont des caractères utf-8. À moins que vous ne vouliez
pas utiliser d'accent (site en anglais par exemple), votre fonction ne
fonctionnera pas partout. En effet, strlen() est une fonction qu'il faut
utiliser avec parcimonie. mb_strlen() pourrait pallier à ça.
Et encore une fois, rien n'indique que les fonctions basiques utilisées
dans les vôtres ne seront pas modifiées. Ainsi, à tenter de faire du
"compatible" sur le long terme, vous risquez de perdre du temps
maintenant et plus tard.
Le 07/05/2012 22:42, Jean Francois Ortolo a écrit :
Bonsoir Monsieur
Finalement, voici le code résistant à toutes les modifications possibles
des fonctions suivant les versions de PHP.
Ce code est destiné, à fonctionner en mode ISO-8859-1 exclusivement, ce
qui implique simplement, que le script soit codé en ISO, et soit
interprété en mode ISO, ce qui devrait rester possible quelle que soit
l'évolution à terme de PHP, si la programmation php en mode iso reste
possible.
Celà veut dire, que la seule possibilité pour que ce code ne soit plus
valide, serait que des versions ultérieures de PHP, rendent strictement
obligatoire, un mode de codage de caractères différent de ISO-8859-1 et
ISO-8859-15, ce qui vous l'avouerez, est plus que très improbable.
Voici le code :
function array_to_to_str($tmp_array)
{
$str = "";
for($i = 0; $i < count($tmp_array); $i++)
$str .= $tmp_array[$i];
return($str);
}
function str_to_to_array($str)
{
$tmp_array = array();
for($i = 0; $i < strlen($str); $i++)
$tmp_array[$i] = substr($str, $i, 1);
return($tmp_array);
}
Ce code sous-entend, que la fonction substr() perdurera à terme dans le
futur pour toutes les versions ultérieures de PHP
Pour adapter le code de mon site, avec $str étant le nom de la variable
sélectionnée jusqu'ici par l'opérateur [] , il me suffira de rajouter,
avant chaque groupes de sélections, la ligne suivante :
$str = str_to_to_array($str);
Et après chaque groupes de sélections, la ligne :
$str = array_to_to_str($str);
Pour retrouver une chaîne de caractère modifiée par la sélection+
modification sur l'array temporaire $str
Si j'ai besoin de sauvegarder la variable chaîne $str avant un groupe de
sélections, je peux le faire très facilement, puis adapter le code de
manière très facile.
Il me suffit d'incorporer le code de ces deux fonctions dans mon script
php de configuration, inclus dans tous mes scripts php, pour disposer de
ces deux fonctions, sans aucune possibilité de confusion avec des
fonctions existantes.
Je pense, qu'en ce qui me concerne, le problème est résolu.
Bien amicalement.
Jean François Ortolo
Malheureusement pour vous, il ne l'est pas.
$str = str_to_to_array('£$épourquoi ç a @& à');
donnera quelque chose d'éronné.
http://codepad.org/pm2pZy6y
(ce même bout de code a fait planter http://codepad.viper-7.com d'ailleurs
J'ai mis 20 caractères et pourtant le tableau résultant en aura 24.
Car £, é, ç, à sont des caractères utf-8. À moins que vous ne vouliez
pas utiliser d'accent (site en anglais par exemple), votre fonction ne
fonctionnera pas partout. En effet, strlen() est une fonction qu'il faut
utiliser avec parcimonie. mb_strlen() pourrait pallier à ça.
Et encore une fois, rien n'indique que les fonctions basiques utilisées
dans les vôtres ne seront pas modifiées. Ainsi, à tenter de faire du
"compatible" sur le long terme, vous risquez de perdre du temps
maintenant et plus tard.
Le 07/05/2012 22:42, Jean Francois Ortolo a écrit :
Bonsoir Monsieur
Finalement, voici le code résistant à toutes les modifications possibles
des fonctions suivant les versions de PHP.
Ce code est destiné, à fonctionner en mode ISO-8859-1 exclusivement, ce
qui implique simplement, que le script soit codé en ISO, et soit
interprété en mode ISO, ce qui devrait rester possible quelle que soit
l'évolution à terme de PHP, si la programmation php en mode iso reste
possible.
Celà veut dire, que la seule possibilité pour que ce code ne soit plus
valide, serait que des versions ultérieures de PHP, rendent strictement
obligatoire, un mode de codage de caractères différent de ISO-8859-1 et
ISO-8859-15, ce qui vous l'avouerez, est plus que très improbable.
Voici le code :
function array_to_to_str($tmp_array)
{
$str = "";
for($i = 0; $i < count($tmp_array); $i++)
$str .= $tmp_array[$i];
return($str);
}
function str_to_to_array($str)
{
$tmp_array = array();
for($i = 0; $i < strlen($str); $i++)
$tmp_array[$i] = substr($str, $i, 1);
return($tmp_array);
}
Ce code sous-entend, que la fonction substr() perdurera à terme dans le
futur pour toutes les versions ultérieures de PHP
Pour adapter le code de mon site, avec $str étant le nom de la variable
sélectionnée jusqu'ici par l'opérateur [] , il me suffira de rajouter,
avant chaque groupes de sélections, la ligne suivante :
$str = str_to_to_array($str);
Et après chaque groupes de sélections, la ligne :
$str = array_to_to_str($str);
Pour retrouver une chaîne de caractère modifiée par la sélection+
modification sur l'array temporaire $str
Si j'ai besoin de sauvegarder la variable chaîne $str avant un groupe de
sélections, je peux le faire très facilement, puis adapter le code de
manière très facile.
Il me suffit d'incorporer le code de ces deux fonctions dans mon script
php de configuration, inclus dans tous mes scripts php, pour disposer de
ces deux fonctions, sans aucune possibilité de confusion avec des
fonctions existantes.
Je pense, qu'en ce qui me concerne, le problème est résolu.
Bien amicalement.
Jean François Ortolo
Malheureusement pour vous, il ne l'est pas.
$str = str_to_to_array('£$épourquoi ç a @& à');
donnera quelque chose d'éronné.
http://codepad.org/pm2pZy6y
(ce même bout de code a fait planter http://codepad.viper-7.com d'ailleurs
J'ai mis 20 caractères et pourtant le tableau résultant en aura 24.
Car £, é, ç, à sont des caractères utf-8. À moins que vous ne vouliez
pas utiliser d'accent (site en anglais par exemple), votre fonction ne
fonctionnera pas partout. En effet, strlen() est une fonction qu'il faut
utiliser avec parcimonie. mb_strlen() pourrait pallier à ça.
Et encore une fois, rien n'indique que les fonctions basiques utilisées
dans les vôtres ne seront pas modifiées. Ainsi, à tenter de faire du
"compatible" sur le long terme, vous risquez de perdre du temps
maintenant et plus tard.
Bonjour Monsieur
Je ne comprend pas très bien.
L'utilisation de ce code, présuppose, que les données paramètres des
fonctions, seront tous codés en mode ISO-8859-1 ou ISO-8859-15 à la
rigueur.
Quant à é , ç, et à, ils peuvent très bien être codés en ISO-8859-1, et
je m'arrange bien, avec la fonction iconv() pour des données provenant
de l'extérieur, pour que mes données soient toutes en iso.
J'ai évidemment tenu compte du fait, que les fonctions strlen() et
substr() dans mon code, n'acceptent que des paramètres en mode ISO.
D'ailleurs, c'est le but de mon site, de rester en mode iso, sans limite
de temps, compte tenu du fait, qu'il est peu probable, que même à terme,
le comité PHP décide d'obliger strictement les utilisateurs de php, à
programmer en mode utf8 ( ou utf16, ou utf32 ).
Bien à vous.
Amicalement.
Jean François Ortolo
Bonjour Monsieur
Je ne comprend pas très bien.
L'utilisation de ce code, présuppose, que les données paramètres des
fonctions, seront tous codés en mode ISO-8859-1 ou ISO-8859-15 à la
rigueur.
Quant à é , ç, et à, ils peuvent très bien être codés en ISO-8859-1, et
je m'arrange bien, avec la fonction iconv() pour des données provenant
de l'extérieur, pour que mes données soient toutes en iso.
J'ai évidemment tenu compte du fait, que les fonctions strlen() et
substr() dans mon code, n'acceptent que des paramètres en mode ISO.
D'ailleurs, c'est le but de mon site, de rester en mode iso, sans limite
de temps, compte tenu du fait, qu'il est peu probable, que même à terme,
le comité PHP décide d'obliger strictement les utilisateurs de php, à
programmer en mode utf8 ( ou utf16, ou utf32 ).
Bien à vous.
Amicalement.
Jean François Ortolo
Bonjour Monsieur
Je ne comprend pas très bien.
L'utilisation de ce code, présuppose, que les données paramètres des
fonctions, seront tous codés en mode ISO-8859-1 ou ISO-8859-15 à la
rigueur.
Quant à é , ç, et à, ils peuvent très bien être codés en ISO-8859-1, et
je m'arrange bien, avec la fonction iconv() pour des données provenant
de l'extérieur, pour que mes données soient toutes en iso.
J'ai évidemment tenu compte du fait, que les fonctions strlen() et
substr() dans mon code, n'acceptent que des paramètres en mode ISO.
D'ailleurs, c'est le but de mon site, de rester en mode iso, sans limite
de temps, compte tenu du fait, qu'il est peu probable, que même à terme,
le comité PHP décide d'obliger strictement les utilisateurs de php, à
programmer en mode utf8 ( ou utf16, ou utf32 ).
Bien à vous.
Amicalement.
Jean François Ortolo
Et... La fonction str_split() , ne risque pas de disparaître avec les
versions ultérieures de php ?
Et... La fonction str_split() , ne risque pas de disparaître avec les
versions ultérieures de php ?
Et... La fonction str_split() , ne risque pas de disparaître avec les
versions ultérieures de php ?