Page 1 sur 1

Rechercher un caractère et le remplacer

Posté : 05 juin 2014, 10:09
par anaval
Bonjour,

J'ai un petit problème,

je veux chercher un caractère qui est : | (la barre verticale) dans un fichier et le remplacer par un <br/>

Voilà mon code :
 $motif='|';
    $fichier = "http://wcf.tourinsoft.com/Syndication/cdt65/b1155573-8443-49fb-a3d0-bb05526278e6/Objects"
    if (preg_match($motif,$description1))
    {

$onlyconsonants = str_replace($motif, "<br/>");
    
    }
    echo $description1;
    
Quelqu'un pourrait m'aider à comprendre les erreurs de mon code...
Ah j'oubliai, le fichier que je dois traiter est un fichier xml, je l'ai parcouru et j'ai afficher différentes valeur avec un code php.

Merci à vous tous

Re: Rechercher un caractère et le remplacer

Posté : 05 juin 2014, 11:01
par Elie
$onlyconsonants = str_replace($motif, "<br/>", $fichier);
http://www.php.net/manual/fr/function.str-replace.php

mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] );

Re: Rechercher un caractère et le remplacer

Posté : 05 juin 2014, 11:15
par anaval
Ok merci de ta réponse Elie
En fait , j'ai fait :
$motif = '/|/';
     if(preg_match($motif,$photo1)){
      echo 'Le motif  <em>' . $motif . '</em> est bien présent dans la chaîne analysée.';}
Avec ça j'ai réussi à chercher et trouve le caractère ... Mais maintenant je voudrai le remplacer en faisant:
 $photo1 = str_replace('|' ,'<br/>');
Mais ça ça ne fonctionne pas du tout ................ :?

Quelqu’un peut m'aider ? merci :)

Re: Rechercher un caractère et le remplacer

Posté : 05 juin 2014, 11:18
par Elie
Ma réponse est pourtant clair ...
Tant que tu n'auras pas compris qu'il faut 3 variables dans la fonction str_replace

Re: Rechercher un caractère et le remplacer

Posté : 05 juin 2014, 11:33
par anaval
ok ok j'avais pas saisi

J'ai modifié mon code ce qui donne :
  $motif = array('/|/');
     $replace= array('<br/>');
     $tableau=array('/|/',"!");

     if(preg_match($motif,$photo1))
     {
     
    echo $remplacement = str_replace($motif,$replace,$tableau);

     }
Mais cela ne fonctionne pas non plus...

Re: Rechercher un caractère et le remplacer

Posté : 05 juin 2014, 11:48
par Elie
 $motif = '|';
    $fichier = "http://wcf.tourinsoft.com/Syndication/cdt65/b1155573-8443-49fb-a3d0-bb05526278e6/Objects"
    if(strstr($fichier, $motif) !== FALSE) {
     $onlyconsonants = str_replace($motif, "<br/>", $fichier);   
    }
En fait, je sais pas vraiment d'ou sort tes variables $description1, $photo1 donc on sait pas trop ce que tu veux faire ...

Je t'invite a lire la fonction strstr (http://www.php.net/manual/fr/function.strstr.php) et str_replace (http://www.php.net/manual/fr/function.str-replace.php) que tu ne semble toujours pas avoir compris puisque que tu met un array() en 3eme variables...

Re: Rechercher un caractère et le remplacer

Posté : 05 juin 2014, 12:00
par anaval
$motif = '|';
$fichier = "http://wcf.tourinsoft.com/Syndication/cdt65/b1155573-8443-49fb-a3d0-bb05526278e6/Objects";
        
    if (strstr($fichier, $motif) !== FALSE) 
    {
        
     $onlyconsonants = str_replace($motif, "<br/>", $fichier);  
        
    }
     
?>
euh ça ne fonctionne pas, j'ai toujours les | ...
En fait mes variables m'ont servi à parceller mon fichier xml , par exemple
$description = $item2->getElementsByTagName('ListingDESCRIPTIONCOMMERCIALE');

Re: Rechercher un caractère et le remplacer

Posté : 05 juin 2014, 12:03
par Elie
Bah en fait on cherche des | dans la chaine $fichier qui n'en a pas ...
Remplace $fichier par ta $variables qui a des |

Re: Rechercher un caractère et le remplacer

Posté : 05 juin 2014, 14:11
par anaval
C'est la variable $photo1 ou il y a des |
donc j'ai :
$motif = '|';

    if (strstr($photo1, $motif) !== FALSE) 
    {
        
     $replace = str_replace($motif, '<br/>', $photo1);  
        
    }
     
Mais c'est toujours pareil.... je n'ai pas de saut de ligne et j'ai toujours " | '

Re: Rechercher un caractère et le remplacer

Posté : 05 juin 2014, 15:01
par Elie
Je serais toi, j'abandonnerai.
Ou alors met ta page entiere sur http://pastebin.com/ ou ici directement.

Parce que chez moi ca marche :
<?php

	$photo1 = 'Developpeur|c\'est un|metier';
	$motif = '|';       
    echo (strstr($photo1, $motif) !== FALSE) ? str_replace($motif, '<br/>', $photo1) : $photo1;
	
	/* Developpeur<br/>c'est un<br/>metier */
	
?>