Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP字数字符串中匹配的位置_Php - Fatal编程技术网

PHP字数字符串中匹配的位置

PHP字数字符串中匹配的位置,php,Php,我试图找出一个字符串在另一个字符串中的位置 我可以使用strpos,但它返回字符位置,并且我正在查找字数。例如: $haystack = 'The letters PHP stand for PHP: Hypertext Preprocessor. PHP originally stood for. Personal Home Page Tools.'; $needle = 'PHP: Hypertext Preprocessor'; magic_function($haystack, $nee

我试图找出一个字符串在另一个字符串中的位置

我可以使用strpos,但它返回字符位置,并且我正在查找字数。例如:

$haystack = 'The letters PHP stand for PHP: Hypertext Preprocessor. PHP originally stood for. Personal Home Page Tools.';
$needle = 'PHP: Hypertext Preprocessor';
magic_function($haystack, $needle); // This should return 6

你可以做得很简单,像这样:

<?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

如果您知道字符串的位置,您可以在此之前提取并使用
str\u word\u count
!!!!经过十年的PHP编程,我仍在学习内置在该语言中的晦涩但有用的字符串函数