Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

faire cohabiter une routine PHP avec une routine javascript

1 réponse
Avatar
+-- SenoN --+
Bonjour,

Dans la page http://senon.free.fr/annonces , j'utilise le script suivant qui
consiste à ouvrir un fichier texte et afficher son contenu à l'écran avec
des liens dynamiques.
Je l'ai modifier pour ouvrir un popup pour avoir des images agrandies.
Cette routine de popup fonctionne à merveille en dehors de tout script PHP :
faire essai avec image en bas de la page.
Par contre une fois glissée dans la script PHP, je n'arrive pas à faire
cohabiter les séparateurs ' et " : mes popup ne fonctionnent pas
Merci d'avance si vous pouvez m'aider à résoudre mon problème.

+-- SenoN --+


<?
$fp=fopen('./annonces.txt','r');
while (!feof($fp))
{
$texte=fgets($fp,1024);
$texte = eregi_replace('([[:space:]]|^)(www)', '\\1http://\\2', $texte);
$prefix = '(http|https|ftp|telnet|news|gopher|file|wais)://';
$pureUrl = '([[:alnum:]/\n+-=%&:_.~?]+[#[:alnum:]+]*)';
$texte = eregi_replace($prefix.$pureUrl, '<A
href="javascript:PopupImage(\\1://\\2)"><IMG src="\\1://\\2" width="131"
height="97" class="image" alt="Cliquer pour agrandir"></A>', $texte);
echo $texte."<br>\n"; // affiche la ligne en cours
}
fclose($fp); // fermeture du fichier
?>

1 réponse

Avatar
Olivier Miakinen

Dans la page http://senon.free.fr/annonces , j'utilise le script suivant qui
consiste à ouvrir un fichier texte et afficher son contenu à l'écran avec
des liens dynamiques.
Je l'ai modifier pour ouvrir un popup pour avoir des images agrandies.
Cette routine de popup fonctionne à merveille en dehors de tout script PHP :
faire essai avec image en bas de la page.
Par contre une fois glissée dans la script PHP, je n'arrive pas à faire
cohabiter les séparateurs ' et " : mes popup ne fonctionnent pas
Merci d'avance si vous pouvez m'aider à résoudre mon problème.

[...]

$texte = eregi_replace('([[:space:]]|^)(www)', '1http://2', $texte);
$prefix = '(http|https|ftp|telnet|news|gopher|file|wais)://';
$pureUrl = '([[:alnum:]/n+-=%&:_.~?]+[#[:alnum:]+]*)';
$texte = eregi_replace($prefix.$pureUrl, '<A
href="javascript:PopupImage(1://2)"><IMG [...]


La première ligne concernée dans le fichier .txt est :
http://senon.free.fr/annonces/ampoules.JPG

Et on obtient :
<a href="javascript:PopupImage("
http://senon.free.fr/annonces/ampoules.jpg="" )=""> <img [...]

J'ai beau lire et relire l'ensemble, cela ne correspond pas. Il semble y
avoir génération spontanée de doubles guillemets ! De plus, une espace a
été rajoutée entre le « > » fermant du <a> et le « < » ouvrant du <img>.

Ce qui se passe, à mon avis, c'est que tu n'as pas le même fichier PHP
en local (celui que tu as recopié ici) et sur le serveur (celui que l'on
peut effectivement tester). Essaye de mettre l'ensemble à jour avant de
continuer.


Note : en utilisant eregi, tu n'as pas la même url dans le fichier texte
que dans le contenu html généré (l'extension passe de .JPG à .jpg). Il
est donc probable que l'une des deux est fausse. Ou alors tu es sur un
serveur particulièrement permissif.