preg_replace [résolu] - PHP - Programmation
Marsh Posté le 28-11-2010 à 00:12:29
pourquoi \n ?
sinon ca serai :
Code : |
mais c'est pas très claire comme demande
Marsh Posté le 28-11-2010 à 14:15:14
ReplyMarsh Posté le 28-11-2010 à 22:46:48
stealth35 a écrit : pourquoi \n ?
|
Parce que http://foobar correspond à la ligne du dessus, c'est-à-dire #EXTINF:0,foo
Du coup, je cherche à trouver "foo\n" + la ligne du dessous, pour pouvoir faire le remplacement.
flo850 a écrit : str_replace ne serait il pas plus pratique ? |
Oui mais c'est pour faire un truc classe et propre
Marsh Posté le 29-11-2010 à 10:00:05
y'avait pas toute l'explication (mais je suis sur il manque encore des choses)
ducoup ca donne ca
Code :
|
Marsh Posté le 29-11-2010 à 10:11:40
Code :
|
Marsh Posté le 29-11-2010 à 10:27:25
ReplyMarsh Posté le 29-11-2010 à 10:58:25
Hello,
Merci pour votre aide.
Pour info, l'extrait de fichier que j'ai donné est le contenu d'une playlist .m3u.
Dans "#EXTINF:0,foo", foo désigne le nom du média ; et la ligne suivante désigne l'URI de ce média.
Ce que j'ai besoin de faire est de remplacer l'URI d'un média défini par une autre URI.
Dans l'exemple que j'ai donné en 1er post, je voudrais remplacer http://foobar qui suit foo par huhu. Donc au final je veux ça :
Code :
|
J'ai donc modifié ton code, stealth35, pour arriver à ce que je veux :
Code :
|
Mais ça ne fonctionne toujours pas.
Marsh Posté le 29-11-2010 à 10:59:27
stealth35 a écrit : |
Bah si
Code :
|
Marsh Posté le 29-11-2010 à 11:02:57
Dj YeLL, ce pattern n'est pas matché
Marsh Posté le 29-11-2010 à 11:03:16
chez moi ca fait
Code :
|
et même du-coup ca marche pas, ca fais que 1 remplacement, et ca surprime toute la ligne
Riot a écrit : Hello, Merci pour votre aide. Dans l'exemple que j'ai donné en 1er post, je voudrais remplacer http://foobar qui suit foo par huhu. Donc au final je veux ça :
J'ai donc modifié ton code, stealth35, pour arriver à ce que je veux :
|
pourquoi \n tu t'attend a quoi en faisant ca ?
sinon
Code :
|
Marsh Posté le 29-11-2010 à 11:05:28
Riot a écrit : Dj YeLL, ce pattern n'est pas matché |
Ah si pardon, j'ai rien dit. Ça fonctionne !
Marsh Posté le 29-11-2010 à 11:06:46
stealth35 a écrit : pourquoi \n tu t'attend a quoi en faisant ca ? |
Je sais pas, c'est pas vraiment cette partie qui est importante
Marsh Posté le 29-11-2010 à 11:20:07
Riot a écrit : |
Ben j'avais testé quand même
Marsh Posté le 29-11-2010 à 11:24:55
enfaite chez moi ca marche pas a cause des sauts de ligne, y'a juste un \n donc ca pose problème si les saut de ligne systeme sont pas les mêmes
dans le doute utilise \s+ a la place \n
Marsh Posté le 29-11-2010 à 11:42:28
Merci beaucoup à vous deux !
Marsh Posté le 30-11-2010 à 17:53:13
Re-bonjour,
En fait j'ai encore un petit soucis : il est possible que le nom du flux ("foo" dans mon exemple) contienne des parenthèses : "foo (bar)". Du coup l'expression régulière ne fonctionne plus.
Et pour compliquer le tout, il est aussi possible qu'il y ait plusieurs noms de flux ayant des parenthèses :
Code :
|
Vous savez comment palier ce problème ?
Marsh Posté le 01-12-2010 à 15:14:56
En fait je m'en suis sorti avec un str_replace avant la requête : replacer '(' par '\(' et ')' par '\)'.
Marsh Posté le 26-11-2010 à 17:35:52
Bonjour,
Je souhaiterais modifier une chaîne de caractère particulière dans un texte.
Voici un exemple du texte :
Je voudrais modifier la ligne http://foobar qui suit foo par huhu.
Pour ça j'ai utilisé le code suivant, mais ça ne marche pas.
Une idée ?
Message édité par Riot le 01-12-2010 à 15:15:20
---------------
Be the one with the flames.