Transformer un text de PHP vers Javascript

Avatar de l’utilisateur
Administrateur PHPfrance
Administrateur PHPfrance | 13232 Messages

12 oct. 2006, 16:50

Qui n'a jamais essayé de générer une instruction Javascript via PHP ?
<a href="#" onclick="javascript: maFonction('<?= $text ?>')" />
Et qui ne s'est jamais heurté aux difficultés d'encodage des caractères spéciaux pour que le code soit bon pour PHP et pour JavaScript ? Pour éviter les soucis de retours à la ligne dans une chaine de caractère JS qui n'est pas accepté par les navigateurs (eh oui, nl2br() ne remplace que \n, pas \r :!:), les simples ou doubles quotes qui ne sont pas accepté soit par l'instruction PHP, soit par l'instruction JS

Voici une fonction qui annihile tous les caractères spéciaux contenus dans un texte destiné à être passé comme paramètre à une fonction JS
//Transforme une chaine de texte valide en PHP pour passer dans une fonction JavaScript
function php2js($text)
{
	//Permet de protéger les caractères spéciaux
	$text = addslashes($text);
	//Retire les différents sauts de lignes (\n pour UNIX, \r pour MAC OS et \r\n pour Win32) et les remplace par un <br />
	// /!\ ATTENTION : \r\n en 1er sinon, on va remplacer \r puis \n sous Win 32
	$text = str_replace( 	array("\r\n", "\n", "\r"),
							'<br />',
							$text);
	//Permet d'éviter les conflits entre chaines PHP et chaine JS
	$text = htmlentities($text);
							
	return $text;
}
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Petit nouveau ! | 1 Messages

01 avr. 2012, 12:42

Merci beaucoup, ça m'a beaucoup aidé !

Avatar de l’utilisateur
ViPHP
ViPHP | 3288 Messages

01 avr. 2012, 20:01

<a href="#" onclick="javascript: maFonction('<?= $text ?>')" />
le "javascript: " dans le onclick ça sert à quoi? onclick est un evênement qui est systématiquement du javascript qui plus est pourquoi ne pas écrire tout le contenu du onclick en php qui produirait du js? et pourquoi ne pas générer tout le lien en php? :)
Frankiz Daniel : fait du php depuis que ca existe ou presque :)

Avatar de l’utilisateur
ViPHP
xTG
ViPHP | 7330 Messages

01 avr. 2012, 21:18

Je ne sais pas où tu as lu que la fonction était là pour remplacer l'attribut href. :P
Et pis le topic date de 2006... On espère bien que depuis le temps zeus est allé à l'école pour apprendre.
Donc arrêtes de Nagoler tu veux bien !

Avatar de l’utilisateur
ViPHP
ViPHP | 3288 Messages

01 avr. 2012, 21:42

Je ne sais pas où tu as lu que la fonction était là pour remplacer l'attribut href. :P
Mais moi je vois pas ou tu as vu que qui ce soit parle de ça?
Et pis le topic date de 2006... On espère bien que depuis le temps zeus est allé à l'école pour apprendre.
Certes, j'avais pas vu la nécro en fait
Donc arrêtes de Nagoler tu veux bien !
M'enfin, tu veux que je fasse quoi d'autre? que j'albat ou je zeusse?
Frankiz Daniel : fait du php depuis que ca existe ou presque :)

Avatar de l’utilisateur
Administrateur PHPfrance
Administrateur PHPfrance | 13232 Messages

01 avr. 2012, 21:45

Mais c'est moi qui est écrit ça ? :shock:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Avatar de l’utilisateur
ViPHP
xTG
ViPHP | 7330 Messages

01 avr. 2012, 22:05

Je ne sais pas où tu as lu que la fonction était là pour remplacer l'attribut href. :P
Mais moi je vois pas ou tu as vu que qui ce soit parle de ça?
Au temps pour moi, c'est quand tu parlais de génération de lien, j'avais pas tilté que tu parlais de la balise entière. :)

Avatar de l’utilisateur
ViPHP
ViPHP | 3288 Messages

02 avr. 2012, 10:08

Mais c'est moi qui est écrit ça ? :shock:
ben faut croire, on a tous été des nubs en même temps...
Frankiz Daniel : fait du php depuis que ca existe ou presque :)

Administrateur PHPfrance
Administrateur PHPfrance | 11401 Messages

31 mars 2016, 22:53

on a tous été des nubs en même temps...
Non, pas tous en même temps.

Moi, c'est venu longtemps après... :langue:

Avatar de l’utilisateur
ViPHP
ViPHP | 3288 Messages

01 avr. 2016, 14:11

Multiple nécro sur 10 ans, je vois...

Albat un jour toi aussi tu ne seras plus un nub :)
Frankiz Daniel : fait du php depuis que ca existe ou presque :)

Administrateur PHPfrance
Administrateur PHPfrance | 11401 Messages

01 avr. 2016, 16:06

Multiple nécro sur 10 ans, je vois...
Record à battre ! :lol: \:D/
Mais on ne pourra pas aller plus loin que le grand crash, pour ceux qui s'en souviennent.
Albat un jour toi aussi tu ne seras plus un nub :)
Tu es...
- voyante ?
- cellule psychologique ?
- vil flatteur ?
- Ah... ironique. :(

Avatar de l’utilisateur
ViPHP
ViPHP | 3288 Messages

01 avr. 2016, 17:25

Je m'en souviens je m'en souviens, c'est moi qui ai configuré le serveur qui a crashé. je suis toujours faché de ne pas avoir pu essayer de comprendre pourquoi d'ailleurs.

Je suis toute tes propositions et plus'encor'
Frankiz Daniel : fait du php depuis que ca existe ou presque :)