Wie soll ich die Anzahl der Vorkommen eines Zeichens am Anfang eines Strings in PHP zählen

StackOverflow https://stackoverflow.com/questions/441581

  •  22-07-2019
  •  | 
  •  

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 ‚*‘

War es hilfreich?

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
scroll top