Utilisation des masques - PHP - Programmation
Marsh Posté le 01-12-2005 à 13:43:46
C'est n'importe quoi ta pattern
Tu cherches la chaine suivante:
la valeur de $_POST['lienretour'] non précédé des caractères suivants: "<", "/", "a", ">", "<", "a", ".", "*", "?", ">"
Est ce que tu pourrais montrer exactement une chaine de caractère que tu essayes de récuperer?
Marsh Posté le 01-12-2005 à 14:01:36
Hmmm, oui, j'ai voulu d'abord faire une recherche en fait, et je m'etais inspiré d'un exemple qui apparemment fonctionnait...
D'ou effectivement le n'importe quoi.
Le code que j'avais avant, et qui produisait le même effet, etait le suivant:
Code :
|
J'avais voulu faire au plus bête, en me disant que ca engloberait tous les caractères necessaires.
La prochaine fois je ne ferais pas de recherche ;p
En fait, je veux vérifier la présence du code exact dans une page:
Code :
|
Actuellement, si le code est exact, le script me confirme sa présence. Si le code est absent, il me confirma sa non-présence. Mais si le code est erroné (par exemple, il manque les www), il me confirme quand même sa présence, alors que logiquement il ne devrait pas le detecter.
Voilà, d'ou mon problème de depucelage d'utilisation des masques...
kjb
Marsh Posté le 01-12-2005 à 14:14:45
Ok quelques questions:
- Quelles sont les valeurs possibles de $_POST['lienretour'] ( www.monsite.com, monsite.com, http://monsite.com, http://www.monsite.com)
- Tes balises liens sont-elles toujours aussi réduites? pas d'attribut style ou ce genre de chose?
- Le texte du lien ( ici "Mon site" ) est-il toujours le même?
Quoi qu'il en soit en gros ta pattern devra ressembler à ça:
Code :
|
avec le bémol en fonction des valeurs de $_POST['lienretour']
Marsh Posté le 01-12-2005 à 14:55:35
Eh bien en fait, pour être plus précis, j'avais englobé le code entier, et non seulement la variable, dans $_POST['lienretour'], car la variable est présente à 3 endroits différents:
Code :
|
Aucun attribut de style, ce lien devant se retrouver sur le site de tel ou tel webmaster, et non sur le mien: c'est pour gérer les soumissions à un moteur de recherche (lien présent: validé; lien non présent: refusé).
Pourquoi cette variable ? Je veux laisser choisir un thème au webmaster.
Sur la page de soumission, ce que le webmaster doit faire:
- Generer ce fameux lien retour avec la VARIABLE de son choix.
- Indiquer l'url ou il a placé ce lien retour.
- Valider l'indexation dans le moteur.
En me basant sur ton exemple (c'est vrai que j'aurais pu faire comme ca dès le départ, en plus...), j'ai fait logiquement ceci:
Code :
|
J'obtient alors un Warning: preg_match(): Unknown modifier '/'
J'ai essayé de faire accepter les slash ( ([\/]) ??), mais ca n'a pas eu l'air de fonctionner...
kjb
Marsh Posté le 01-12-2005 à 15:00:17
backslash les slashs et les points! le target est is obligatoire(je pense pas donc je le vire )?
Code :
|
Attention si le title se retrouve avant le href ça marche plus!!!
Marsh Posté le 01-12-2005 à 15:22:59
Ah effectivement, je ne backslash que les " ...
Mais ca fait 10 minutes que je me coltine un Warning: preg_match(): Unknown modifier 'a' ...
J'ai essayé de jouer avec les guillemets, j'ai verifié et reverifié, rien n'y fait ;D
kjb
Marsh Posté le 01-12-2005 à 15:54:15
ReplyMarsh Posté le 01-12-2005 à 16:00:10
faut aussi
\<
\>
il me semble
Marsh Posté le 01-12-2005 à 17:03:55
anapajari a écrit : t'as pas du backslasher le dernier / dans "</a>" |
Aaaaaaaah misère de misèreuuuuuu.
Effectivement, après avoir passé mon après-midi sur ce satané bout de code, et surtout après m'être detendu un peu avec un need for speed, le truc tout con se montre de lui-même tout seul... J'avais bien zappé le dernier slash dans la fermeture de balise.
Un grand merci à toi anapajari, tu m'ôtes un sacrée épine du pied
Et gracias aussi à art_dupond !
Allez hop, bonne soirée
kjb
Marsh Posté le 01-12-2005 à 13:35:27
Hello,
Je bute depuis ce matin sur un problème d'un con, mais d'un con !
En fait, les masques (pour utiliser dans un preg_match) et moi, ca fait deux.
J'ai la liste, j'ai les fonctions, mais décidemment, je n'arrive pas à les placer correctement: je suis faché avec la syntaxe.
Donc voilà:
je souhaite contrôler la présence d'un lien retour, j'execute donc la vérification du code html correspondant...
Le meilleur résultat que j'ai pu obtenir:
- Si lien retour présent: ca marche, il me le trouve.
- Si lien retour absent: ca marche, il me dit qu'il n'y a rien.
- Si lien retour erroné: ca ne marche pas, il me dit qu'il le trouve quand même
Voici mon code actuel:
(bien entendu, $retour est inseré après dans le preg_match...)
J'imagine qu'il faut aussi préciser de prendre en compte lettres, chiffres, et espaces, mais même avec un [[:print:]], le résultat est le même... Je vais m'arracher les cheveux
Merci pour votre aide !
kjb