Une option possible est d'utiliser un wrapper de fichier personnalisé pour simuler les variables en tant que fichiers. Vous pouvez y parvenir en utilisant ceci :
1) Tout d'abord, enregistrez votre wrapper (une seule fois dans le fichier, utilisez-le comme session_start()) :
stream_wrapper_register('var', VarWrapper);
2) Définissez ensuite votre classe enveloppante (c'est écrit très rapidement, ce n'est pas tout à fait correct, mais cela fonctionne) :
class VarWrapper {
protected $pos = 0;
protected $content;
public function stream_open($path, $mode, $options, &$opened_path) {
$varname = substr($path, 6);
global $$varname;
$this->content = $$varname;
return true;
}
public function stream_read($count) {
$s = substr($this->content, $this->pos, $count);
$this->pos += $count;
return $s;
}
public function stream_stat() {
$f = fopen(__file__, 'rb');
$a = fstat($f);
fclose($f);
if (isset($a[7])) $a[7] = strlen($this->content);
return $a;
}
}
3) Utilisez ensuite n'importe quelle fonction de fichier avec votre wrapper sur le protocole var:// (vous pouvez aussi l'utiliser pour include, require etc.) :
global $__myVar;
$__myVar = 'Enter tags here';
$data = php_strip_whitespace('var://__myVar');
Note : N'oubliez pas de placer votre variable dans la portée globale (comme global $__myVar).
0 votes
Duplication possible de Impossible de faire en sorte que str_replace() supprime les espaces dans une chaîne de caractères PHP
1 votes
@taztodgmail Regardez les dates. Celle-ci date de 2009 et l'autre de 2013. La version de 2013 est une copie de celle-ci.
1 votes
Pour information : le \s n'inclut pas les caractères utf-8 tels que nbsp ;, ps, quads et fs encodés en utf-8 stackoverflow.com/questions/2227921/
1 votes
Bien sûr ! J'ai un ensemble de codes qui y répondent
0 votes
Pourquoi cela apparaît-il en première page ?