If you're not looking to duplicate the rest of the string, but instead just want the offset, in the spirit of the str*pos() functions, use strcspn()
(PHP 5, PHP 7, PHP 8)
strpbrk — Belirtilen karakterleri bir dizge içinde arar
strpbrk() işlevi dizge
içinde karakterler
'den birini bulmaya çalışır.
dizge
Karakterlerin aranacağı dizge.
karakterler
Karakterler harf büyüklüğüne duyarlı olarak aranır.
Bulunan karakterle başlayan dizgeyi döndürür, aranan hiçbir karakter
bulunamazsa false
döner.
Örnek 1 - strpbrk() örneği
<?php
$text = 'This is a Simple text.';
// ilk eşleşen 'i'den itibaren çıktılanacağından
// "is is a Simple text." basılır
echo strpbrk($text, 'mi');
// İşlev harf büyüklüğüne duyarlı arama yaptığından
// "Simple text." basılacaktır
echo strpbrk($text, 'S');
?>
If you're not looking to duplicate the rest of the string, but instead just want the offset, in the spirit of the str*pos() functions, use strcspn()
A little modification to Evan's code to use an array for the second parameter :
<?php
function strpbrkpos($s, $accept) {
$r = FALSE;
$t = 0;
$i = 0;
$accept_l = count($accept);
for ( ; $i < $accept_l ; $i++ )
if ( ($t = strpos($s, $accept[$i])) !== FALSE )
if ( ($r === FALSE) || ($t < $r) )
$r = $t;
return $r;
}
?>