Filtrer une chaine récupérée d'une requête

[Fermé]
Signaler
-
Messages postés
1193
Date d'inscription
jeudi 19 février 2009
Statut
Membre
Dernière intervention
5 juillet 2015
-
Bonjour,

Je cherche a tronquer le début et la fin d'un chaine que je récupère dans une boucle.
Le détail est le suivant:

Ici la valeur $pochette, issue d'un champ personalisé du CMS retourne par exemple ceci:

<a href="http://start1g.ovh.net/~soilchro/wp-content/uploads/2010/04/submission.jpg">
<img width="250" height="247" alt="" src="http://start1g.ovh.net/~soilchro/wp-content/uploads/2010/04/submission.jpg" title="submission" class="aligncenter size-full wp-image-4068">
</a>

Et je désire isoler et réutiliser dans un autre lien cette partie uniquement:

<img width="250" height="247" alt="" src="http://start1g.ovh.net/~soilchro/wp-content/uploads/2010/04/submission.jpg" title="submission" class="aligncenter size-full wp-image-4068">

J'ai donc, a l'aide d'autres posts trouvé ici, créé ce filtre:

<?php
$pochette = get_post_custom_values('Pochette');
$marqueurdebutimg = '<img';
$debutimg = strpos( $pochette, $marqueurdebutimg );
$marqueurfinimg = 'jpg">'; <<< mouais... pas génial comme marqueur de fin
$finimg = strpos( $pochette, $marqueurfinimg ) + strlen( $marqueurfinimg );
$values = substr( $pochette, $debutimg, $finimg );

echo $values[0];

?>

Mais après mise en place, rien n'est retourné a part "A" , ou bien "Array" si je supprime "[0]" apres la valeur $values.

Quelqu'un a t il une idée? ou une autre solution?

Merci par avance

5 réponses

Messages postés
1193
Date d'inscription
jeudi 19 février 2009
Statut
Membre
Dernière intervention
5 juillet 2015
207
Voilà, ce que tu peux faire :

$pochette = preg_replace('<a href="http://start1g.ovh.net/~soilchro/wp-content/uploads/2010/04/submission.jpg"> ', '', $pochette);
bonne idée dans l'absolu, mais étant donné que mon lien va changer a chaque requêtes de ma boucle (images et chemins différents), je ne pense pas que cela fonctionne, car dans le cas que tu proposes on supprime une chaine précise contenue dans $pochette, enfin il me semble non?
Messages postés
1193
Date d'inscription
jeudi 19 février 2009
Statut
Membre
Dernière intervention
5 juillet 2015
207
Sinon, tu fais un preg_match et tu selection le 2eme argument, tu vois ce que je veux dire ?
Hmm effectivement, je peux peut être définir mes variables avec preg_match pour ensuite exclure une partie de ma chaine... mais j'étais persuadé qu'il y avais plus simple à faire. d'autant que ce qu'il y a dans mes balsies <img> et <a> change tout le temps.
Messages postés
1193
Date d'inscription
jeudi 19 février 2009
Statut
Membre
Dernière intervention
5 juillet 2015
207
$text = preg_match('.jpg"> ', $pochette);
$pochette = text[1];