2009-09-06 12 views
2

Je ne sais pas si cela est assez de données pour se nourrir de, mais jeComment utiliser un modèle de variable avec preg_match?

preg_match ('/ sampleText /', bcurl de $, cookie1 de $);

et je me demandais si je peux le faire

preg_match ($ newfunction, $ bcurl, $ cookie1);

mais quand je le fais, je reçois cette erreur "Warning: preg_match() [function.preg match]: Délimiteur ne doit pas être alphanumérique ou anti-slash".

Comment puis-je le faire vérifier pour ma nouvelle fonction, plutôt que de le vérifier juste pour "SAMPLETEXT".

+0

Quelle est la valeur de $ newfunction? –

+0

La valeur de $ newfunction est constituée d'une chaîne de clé aléatoire d'environ 5 à 10 chiffres qui est insérée dans le SQL d'un autre fichier, lors du chargement. – Homework

Répondre

8

Essayez preg_match("/$newfunction/", $bcurl, $cookie1); afin de fournir les délimiteurs requis (à l'aide d'un délimiteur qui ne sera pas dans $ newfunction). Notez cependant que le documentation indique "N'utilisez pas preg_match() si vous voulez seulement vérifier si une chaîne est contenue dans une autre chaîne, utilisez plutôt strpos() ou strstr() car elles seront plus rapides."

+1

C'était un pur échec. Il vérifiait le site Web pour la fonction $ au lieu de la clé aléatoire réelle que la fonction $ est. – Homework

+0

J'utilise cURL. – Homework

+3

@Joey: Avez-vous utilisé des guillemets doubles ou des guillemets simples? – ysth

2

u peut utiliser la variable en le mettant entre []

$subject = "abcdef"; 
$ch = 'b'; 
$pattern = '/[$ch]/'; 
preg_match($pattern, $subject, $matches); 
//print_r($matches); 
if ($matches) 
{ 
    echo $subject; 
} 
+1

Cela ressemble seulement cela fonctionne parce que la variable _name_ contient un c. –

+0

* "Vous pouvez utiliser une variable en la plaçant entre []" * Ceci est faux. Que ce code fonctionne du tout est seulement par accident. –

2

preg_match('/'.$pattern.'/i', $subject)

i Option: permettre des lettres majuscules ou trait d'union.

Questions connexes