Come devo contare il numero di occorrenze di un carattere all'inizio di una stringa in PHP

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

  •  22-07-2019
  •  | 
  •  

Domanda

Il meglio che ho potuto inventare è:

strlen (preg_replace ( '/ ^ ([\\ *] *) \ s (+) /.', & Quot; $ 1 ", $ line));
^^ Questo sembra dare la lunghezza della stringa. ^^

modifica: penso che dovrei chiarire che il personaggio che sto cercando di trovare è '*'

È stato utile?

Soluzione

preg_match consente un parametro di output che è riempito con le corrispondenze, quindi puoi semplicemente prendere la tensione della corrispondenza per il modello / ^ ** /:

$matches = array();
preg_match("/^\**/", $string, $matches);
$result =  strlen($matches[0]) ;

...

"***Hello world!*" -> 3
"Hello world!" -> 0

Altri suggerimenti

Questo è un po 'traballante ma potrebbe funzionare - conta il numero di volte che il primo personaggio viene ripetuto:

strlen($line) - strlen(ltrim($line, $line[0]));

Se vuoi solo rimuovere tutte le stelle dall'inizio, allora questo è un po 'più facile

strlen($line) - strlen(ltrim($line, '*'));
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top