pb en php pour substitution de chaine de caractère

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : pb en php pour substitution de chaine de caractère

par Orni » 20 juin 2006, 17:24

Ben après à toi de l'implémenter à ta façon ^_____^ La base reste la même, j'ai juste utilisé un tableau pour l'exemple :]

Le pb est que tout est stocké dans une chaine de caractères.

par walt » 20 juin 2006, 16:10

Je n'utilise pas de tableau, c'est vraiment une chaine de caractère que je rècupére de mysql ! sinon en effet, j'aurais polus ou moins utilisé la meme methode !

par Orni » 20 juin 2006, 15:32

Petit exemple possible :
<?php
	
	$tab = array( 
		'un',
		'un',
		'import "test1"',
		'un',
		'un',
		'import "test2"',
		'un',
		'import "test3"',
		'import "test4"'
		);

	// Affichage du tableau
	echo "TABLEAU ORIGINAL<br>";
	foreach( $tab as $value )
	{
		echo $value . "<br>";
	}

	// On parse le tableau
	echo "<br><br>RESULTATS<br>";
	foreach( $tab as $value )
	{
		$result = "";
		// On regarde si ca correspond avec ce que l'on recherche
		if( preg_match( '`^import "([a-zA-Z0-9])*"$`' , $value ) )
		{
			// On récupère la position de la première quote
			$firstQuote = strpos( $value , '"' );
			// Puis la seconde
			// Attention ce ne sont pas les même fonctions
			$secondQuote = strrpos( $value , '"' );
			
			// On extrait notre résultat
			$result = substr( $value , ( $firstQuote + 1 ) , ( $secondQuote - $firstQuote - 1 ) );
		}
		
		// On l'affiche si il existe
		if( !empty( $result ) ) echo "Résultat trouvé : " . $result . "<br>";
	}
	
?>

pb en php pour substitution de chaine de caractère

par walt » 20 juin 2006, 14:52

Hello.

Voila j'ai une long chaine de caractere qui se présente de la manière suivante:

toto
titi
import "X";
re
re
import "Y";
tu
ti

J'aimerai recupere le X et le Y, comment faire j'aitenté un truc avec eregi mais je n'y arrive pas quelqu'un aurait une idée ?