1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <?php
$str = "<div>foo<div>bar<div>snafu</div>hello</div>world</div>";
print substr_count(substr($str, 0, searchPos('snafu', $str)), '<div>');
function searchPos($needed, $haystack) {
$bracket = '(?:<[^>]+>)?';
$newNeeded = '';
for($i=0; $i<strlen($needed); $i++) {
$newNeeded .= $bracket.preg_quote(substr($needed, $i, 1));
}
// J'utilise volontairement un caractère spécial car je sais qu'il est protégé dans newNeeded par le preg_quote
// Et que je ne l'utilise pas moi même
if( preg_match('!'.$newNeeded.'!', $haystack, $match, PREG_OFFSET_CAPTURE) ) {
return $match[1];
else
return 0; // Pour que ton count = 0 sans rien changer d'autre (flemme lol)
} |
Partager