phpInfo.netLes ArchivesLes éléPHPants

  
  Accueil
  Trucs & Astuces
  Scripts
  Regex
  Annuaire
  Articles

.
      
 Astuces   PHP  WAP


Passage de plusieurs variables entre 2 decks WML[12-05-2001]
Posté par Laurent HAAS

Le WML n'apprécie pas du tout l'utilisation du caractère & pour passer plusieurs variables entre 2 decks.

Par exemple un lien du type :

<a href=\"suite.php?var1=12&var2=44\">La suite</a>

conduit à une erreur. Le WML croit que le & est le début d'un caractère particulier, et ne sait pas interpréter la suite.

Pour contourner cela, il suffit d'utiliser & en lieu et place du & traditionnel (ou de faire passer l'URL par htmlentities).

<a href=\"suite.php?var1=12&amp;var2=44\">La suite</a>

De plus, si l'on veut transmettre des valeurs de variables alphanumériques susceptibles de contenir des espaces ou des caractères à problème, il faut les 'urlencoder' avant de les transmettre. Exemple :

deck1.php

<?
$var1
="Premiere variable";
$var2="Robert & Cie";

$url=htmlentities(sprintf("deck2.php?var1=%s&var2=%s",
                  
urlencode($var1), urlencode($var2)));
printf("<p><a href=\"%s\">Vers Deck 2</a></p>",$url);
?>

deck2.php

<?
// résultats
printf("La variable 1 vaut : %s<br/>",htmlentities($var1));
printf("La variable 2 vaut : %s<br/>",htmlentities($var2));
?>


Coder un texte pour le WAP[21-09-2000]
Posté par Jerome Neuveglise

Cette fonction permet de coder un texte afin que les caractères spéciaux soient lisibles sur un écran de portable WAP. Par exemple, un é doit se voit coder en &#233;.

<?
function spec_chars($chaine) {
  for (
$i = 161; $i < 255; $i++)
    
$chaine = ereg_replace(chr($i), "&#$i;", $chaine);
  return
$chaine;
}
?>


[1 commentaire]

Synseo