Alors là les enfants accrochez-vous bien :p Je vais vous présenter ma super fonction qui envoie des variables PHP à du JavaScript qui les transforme en $_GET... m'enfin ça ne fonctionne pas tout à fait. o_O
Si vous n'avez rien compris ça ressemble à ça :
<?php $html = preg_replace($pattern, '<a href="javascript:openPopUp(\'test.php?data=$1\')";>$1</a> ?>
Pour faire clair, ça remplace dans la page une partie des éléments pour les transformer en liens hypertextes qui ouvrent des pop-ups dont le contenu dépend du clic de départ (j'ai défini la fonction openPopUp dans un fichier JS et ça fonctionne bien).
Le petit souci est que parfois $pattern contient des ' (simple quotes) et forcément ça fait mongoliser JavaScript qui ne reçoit pas un argument correct (lorsqu'il n'y a pas de ', la fonction a le comportement souhaité). Le souci ne me semblait pas insurmontable j'ai tenté :
<?php $html = preg_replace($pattern, '<a href="javascript:openPopUp(\'test.php?data=' . addslashes('$1') . '\')";>$1</a> ?>
Mais ça n'a rien changé. En fait les fonctions str_* ne fonctionnent pas à l'intérieur d'un preg_replace, elles sont tout simplement ignorées.
Quelqu'un a une idée plus intelligente que la mienne ?
Merci
Partager