if ($check = '/\[quote(.*?)\](.*?)\[\/quote\]/su') { $spam['spam'] = true; $spam['error'] .= 'Spam post quote.<br />'; }
5 Réponses :
Vous utilisez l'opérateur d'affectation, Vous devez utiliser P> = code>, au lieu de l'opérateur d'égalité
== code>.
if ($check == 'this is a string') {
devrait être si ($ check = 'ceci est une chaîne') code> attribue la chaîne à
$ vérifier code> variable qui est toujours définie et renvoie toujours vrai dans le si < / p>
si ($ cocher == 'ceci est une chaîne') code> p>
qui est toujours défini et renvoie donc toujours vrai code> - pas entièrement vrai. Si vous faites
si ($ check = 0) code> il évaluera à FALSE. Ce qui arrivera réellement ici, c'est que PHP évaluera le côté droit de l'expression comme booléen.
Exact, mais tant que vous attribuez une chaîne non vide, elle va évaluer à un véritable équivalent.
... à moins que la chaîne ne soit '0' code>
Merci, il fonctionnait pour ma chaîne de base mais pas quand je commence à compliquer des choses avec des modèles de regex
Vous devez utiliser Voir opérateurs de comparaison pour plus d'informations. P> P> == code> non seulement
= code>
= code> attribuera la variable. p>
== code> fera une comparaison lâche p>
=== code> fera une comparaison stricte p>
Si vous voulez vraiment être exact, utilisez l'opérateur de comparaison strict ( === code>), sinon ce qui suit est vrai:
si ('123' == 123) code>
Merci, il fonctionnait pour ma chaîne de base mais pas quand je commence à compliquer des choses avec des modèles de regex
Ouais, les comparaisons de cordes ne fonctionneront pas à l'aide de Regex ... Pour cela, vous auriez besoin de faire un Preg_Match - php.net/manual/fr/function.cepeg-match.php
Pour comparaison d'égalité, vous souhaitez que le == code>.
= code> est affectation.
if ($check == 'this is a string') {
L'opérateur de comparaison == fonctionnera dans la plupart des cas, mais ne parvient pas à faire une correspondance exacte dans certains cas de bord *.
Utilisation === Opérateur est le meilleur. P>
$check = '2'; if ($check == ' 2') {
+1 Parce que c'est un résultat très réel / piège d'une langue qui vous permet de retourner la valeur d'une mission.
@Robagar Ce vraiment i> est le débogage 101. Les upvotes sont destinés à, que vous pouvez voir lorsque vous planiez sur le bouton UPVOTE, "questions utiles montrant l'effort de recherche". Les deux ne s'appliquent pas ici.
D'accord avec CODECASTER, cela ressemble à votre niveau de programmation PHP et de programmation générale n'est pas à égalité avec la tâche que vous devez résoudre. Cet endroit n'est pas fait pour enseigner la programmation de base ni PHP.
@Codecaster - et les bowvotes sont pas i> pour frapper les débutants.
@Robagar Après avoir publié votre première question, vous acceptez d'avoir fait vos devoirs et de faire preuve de recherches. Les bowvotes ne sont pas personnelles, vous votez la question i> vers le bas. Et prouve-moi mal, mais ici, nous avons un autre "Veuillez corriger cette regex pour moi sans que je fournisse une" entrée "->" Exemples "de sortie souhaités". Upvote tout ce que vous aimez.
Ce ne serait pas une grande question sans réponse. Je suis désolé pour ma première question si j'étais contrarié quiconque mais c'est juste une question personnelle que je me suis battu pour comprendre seul.
@ C0nw0nk Je pense qu'il disait que vous devez modifier la question pour inclure ce que vous voulez que le code génère ...