Entfernen von bestimmten Zeichen aus einer Zeichenfolge in PHP
Frage
Wie kann ich eine Zeichenfolge in PHP überprüfen für bestimmte Zeichen wie ‚#‘ oder ‚\‘?
Ich will nicht wirklich ersetzen bedienen, einfach wahr oder falsch zurück.
Danke
Lösung
Mit der Funktion strstr http://us2.php.net/manual /en/function.strstr.php Returns Teil Heuhaufen Zeichenfolge aus dem ersten Vorkommen von needle bis zum Ende des Heuhaufen
Hinweis: Wenn Sie nur, wenn eine bestimmte Nadel im Heuhaufen auftritt, um zu bestimmen, verwenden Sie die schneller und weniger speicherintensive Funktion strpos () statt.
Andere Tipps
Sie können die strpos
Funktion, wenn Sie wissen wollen, ob ein String ein anderes enthält (der Inhalt Ihrer Fragen scheint zu zeigen, auch wenn Ihr Titel sagt „Entfernen“) .
. Hinweis: vergessen Sie nicht den !==
oder ===
Operator zu verwenden, da die Funktion 0 oder falsch zurückgeben kann, und die haben unterschiedliche Bedeutung
Wenn Sie auf "Entfernen" Zeichen wollen, str_replace
oder strtr
könnte den Trick tun.
Sie können etwas tun:
if (strpos($string, '#') !== false || strpos($string, '\') !== false) {
// One of those two characters is in the string.
}
Beachten Sie insbesondere die !==
Syntax, die unterscheidet zwischen false
(die Zeichen der Bedeutung nicht gefunden wird) und 0
(was bedeutet, es wurde an Position 0
gefunden).
Versuchen Sie reguläre Ausdrücke.
preg_match('/[#\\\\]/', $String);
Hinweis: Sie haben Schrägstriche zu entkommen '\' dreimal
.Wenn Sie wirklich in boolean Format mögen, können Sie einen ternären Operator ':' als solche
preg_match('/[#\\\\]/', $String) ? true : false;
oder konvertiert einfach zu boolean
(bool)preg_match('/[#\\\\]/', $String);