PHPNET Assistance

Support et Entraide PHPNET => Forum de programmation => Discussion démarrée par: @i3 le 03 mai 2003 à 22:19:03

Titre: Remplacement
Posté par: @i3 le 03 mai 2003 à 22:19:03
Je voudrais savoir comment remplacer des mots apres un include ?
Je ne sais pas si je suis assez clair par exemple je voudrai remplacer Shoot par Tir dans les feuilles de matchs NBA avec les données de nba.com.
Merci d'avance
Titre: Remplacement
Posté par: JBrek le 03 mai 2003 à 22:22:48
Ca risque d'être super lourd, en faite, tu veux faire une traduction ?

 
Titre: Remplacement
Posté par: anderson2 le 03 mai 2003 à 22:26:21
... et de plus, je suis presque sur que les include, ca ne marche que sur le meme serveur, donc pas de

include("http://ww.nba.com/...");

 <_<
Mais pour remplacer, utilise
str_replace(shoot=>tir, player=>joueur,...)

Voila

@+
Titre: Remplacement
Posté par: @i3 le 03 mai 2003 à 23:30:50
Le include marche http://nba.chez-moe.com/test2.php (http://nba.chez-moe.com/test2.php)
Mais par contre j'ai fait comme tu me disais et il me mets ça http://nba.chez-moe.com/test.php (http://nba.chez-moe.com/test.php)
Voilà mon code :<? include('http://scores.nba.com/games/20030502/PHINOH/boxscore.html');
str_replace(POS=>POSTE, PLAYER=>JOUEUR) ?>
Titre: Remplacement
Posté par: kevin le 04 mai 2003 à 00:06:20
<?php
$url="http://www.nba.com";

$texte = join("", file($url));

$texte=ereg_replace( "player", "joueur", $texte );
$texte=ereg_replace( "shoot", "tir", $texte );
[...]



echo $texte;
?>
Titre: Remplacement
Posté par: @i3 le 04 mai 2003 à 10:58:05
Super ça marche !
Merci beaucoup Kevin ;)  
Titre: Remplacement
Posté par: kevin le 04 mai 2003 à 18:41:43
pas de prob =)
Titre: Remplacement
Posté par: @i3 le 04 mai 2003 à 19:05:30
Tout marche bien sauf que je n'arrive pas a remplacer ce terme "  |  "
Vous savez comment faire ?
Titre: Remplacement
Posté par: anderson2 le 04 mai 2003 à 19:35:17
Je ne vois pas la difficultée, a part trouver la touche, tu maintiens Alt Gr et t'appuis sur 6 en haut de ton clavier, ce qui donne:

ereg_replace("|","cequetuveux",$texte);
 
Titre: Remplacement
Posté par: tigroux le 04 mai 2003 à 19:49:56
Pourquoi ne pas utiliser
str_replace ('ceci","cela",$texte);

plutot que

ereg_replace("ceci","cela",$texte);

Manuel PHP :
Citer
Si vous n'avez pas besoin de règles de remplacement compliquées, utilisez cette fonction de préférence à ereg_replace  et preg_replace  .
Titre: Remplacement
Posté par: @i3 le 04 mai 2003 à 19:55:41
Il me mets ça
Citer
Warning: REG_EMPTY in /home/users/ai3/www/nba/scores.php on line 23
et voilà mon code
$texte=ereg_replace( "|", "@", $texte );
Titre: Remplacement
Posté par: kevin le 04 mai 2003 à 20:29:02
essaye un \ pour 'proteger' le caractere

"\|"

Edit:

Citer
Pour utiliser les caractères ^, ., [, $, (, ), |, *, +, {, \ dans vos expressions régulières, vous devrez les protéger avec un \ juste avant ceux-ci (car en effet, ces caractères ont une signification spéciale, et donc pour pouvoir les utiliser, il faut les protéger).

voila ca confirme ce que j'disais =)
Titre: Remplacement
Posté par: Bouki le 04 mai 2003 à 20:45:34
ton truc kevin tu sais quoi, si y'a du code php dans l'include t'auras un beau truc ^^
Titre: Remplacement
Posté par: @i3 le 04 mai 2003 à 20:49:26
J'avais pas pensé a proteger bon ben encore merci Kevin
Titre: Remplacement
Posté par: kevin le 04 mai 2003 à 21:19:58
@bouki>

il peu pas y avoir de code php car le php sera interpreté sur le serveur distant avant d'etre envoyé...
 
Titre: Remplacement
Posté par: Bouki le 04 mai 2003 à 22:52:25
oh tu te trompes alors ^^ j'ai essayé une fois pour les smileys, tout a planté il a affiché la source php avec de l'html au milieu bref une horreur
Titre: Remplacement
Posté par: NaJ le 05 mai 2003 à 10:04:04
Citer
oh tu te trompes alors ^^ j'ai essayé une fois pour les smileys, tout a planté il a affiché la source php avec de l'html au milieu bref une horreur
Ca devait être avec des fichiers locaux, car, en passant par du http, le source php est forcément interprété. Si ça n'était pas le cas, cela voudrait dire qu'il existe un moyen simple d'obtenir les sources php et donc les mots de passe, etc, etc...

Citer
Pourquoi ne pas utiliser
str_replace ('ceci","cela",$texte);
Tout à fait, il faut utiliser str_replace plutôt que ereg_replace quand c'est possible car la première fonction est bien moins consomatrice de ressources.