3 Stimmen

Prüfen, ob String einen Unterstrich in PHP enthält

Ich wundere mich über eine leichte Art und Weise zu finden, wenn eine Zeichenfolge einen Unterstrich (_) enthält. Als Bonus, wenn es möglich war, eine if-Anweisung zu haben, die nicht nur für einen Unterstrich prüft, ob die Zeichenfolge nur ist zwei Wörter verbunden.

z.B. Ich suche nach Zeichenfolgen wie dieser "foo_bar".

Ohne Leerzeichen, nur die beiden Wörter und ein Unterstrich.

Jede Hilfe wäre großartig,

Danke!

7voto

Karolis Punkte 9247

preg_match('/^[^\W_]+_[^\W_]+$/', $string);

6voto

Shef Punkte 43517
$str = 'foo_bar';
if (preg_match('/^[a-z]+_[a-z]+$/i', $str)) {
    // contains an underscore and is two words
} else {
    // does not contain two words, or an underscore
}

4voto

Ehtesham Punkte 2969
    $mystring = "hello_there";
    $pos = strpos($mystring, '_');

    if(false !== $pos) {
        //no _ in the mystring
    }
    else {
        echo "_ found at pos ".$pos; 
    }
    //in this example else part will execute

2voto

Mchl Punkte 60035

Zum Beispiel: preg_match('#^[a-zA-Z1-9]+_[a-zA-Z1-9]+$#','foo_bar');

Siehe Hier finden Sie eine wirklich gute Anleitung, was das alles bedeutet.

1voto

Johan Punkte 1930

Hier ist es: http://www.php.net/manual/en/function.substr-count.php

Sie könnten auch etwas Ähnliches tun:

count( array_filter( explode( '_', str_replace( " ", "_", "foo_bar" ) ) ) ) // == 2

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X