Wie soll ich die Anzahl der Vorkommen eines Zeichens am Anfang eines Strings in PHP zählen
Frage
Das Beste, was ich in der Lage gewesen, mit zu kommen ist:
strlen(preg_replace('/^([\\*]*)\s(.+)/',"$1",$line));
^^ Das scheint die Länge der Zeichenfolge zu geben. ^^
edit: Ich denke, dass ich klarstellen soll, dass der Charakter, den ich zu finden bin versucht, ist ‚*‘
Lösung
preg_match ermöglicht ein Ausgabeparameter, die mit den Spielen gefüllt ist, so können Sie einfach das Strlen des Spiels nehmen für das Muster / ^ ** /:
$matches = array();
preg_match("/^\**/", $string, $matches);
$result = strlen($matches[0]) ;
...
"***Hello world!*" -> 3
"Hello world!" -> 0
Andere Tipps
Dies ist ein wenig wackelig, aber es könnte funktionieren - es zählt die Anzahl, wie oft das erste Zeichen wiederholt wird:
strlen($line) - strlen(ltrim($line, $line[0]));
Wenn Sie nur alle Sterne von Anfang entfernen möchten, dann ist dies ein wenig leichter
strlen($line) - strlen(ltrim($line, '*'));
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow