Вы можете сделать это очень просто, например:
<?php
function magic_function($haystack, $needle){
$strBeforeNeedle = substr($haystack, 0, strpos($haystack, $needle));
$wordCount = str_word_count($strBeforeNeedle);
return $wordCount;
}
$haystack = 'The letters PHP stand for PHP: Hypertext Preprocessor. PHP originally stood for. Personal Home Page Tools.';
$needle = 'PHP: Hypertext Preprocessor';
echo magic_function($haystack, $needle); // This should return 6
Просто извлеките строку перед $needle
и посчитайте слова. Добавьте +1
, если вы хотите номер первого слова из $needle
, или оставьте как есть, чтобы получить количество всех слов перед ним.