Как отменить все после определенного строкового символа в PHP?

Я хочу взять строку в PHP и отбросить все после определенного символа. Однако он должен искать не только один символ, но и массив из них. Как только он попадает к одному из символов в массиве, он должен вернуть строку до этой точки.

Например, если у меня есть массив:

$chars = array("a", "b", "c"); 

Как мне пройти следующую строку …

 log dog hat bat 

… и в итоге:

 log dog h 

Любые решения были бы очень оценены. 🙂

Solutions Collecting From Web of "Как отменить все после определенного строкового символа в PHP?"

Функция strcspn – это то, что вы ищете.

 <?php $mask = "abc"; $string = "log dog hat bat"; $result = substr($string,0,strcspn($string,$mask)); var_dump($result); ?>