在字符串中查找字母位置并计算字符串长度

时间:2014-11-07 15:20:43

标签: php

我正在尝试获取给定字符串中的字母位置,并计算字符串的全长并获得整数字母的位置(如索引)

例如,Talha = 5长度,找到T = 1

 <?php

    if(isset($_POST['sub'])) 
    {
        $n = $_POST['name'];
        $f = $_POST['f']; 
        $s = strlen($n);  
        $res = strpos($f,$n);
    }else{
        echo "error";
    }
 ?>
    <form method="post">
        <input type="text" name="name" placeholder="name" />
        <br>
        <input type="text" name="f" placeholder="find" />
        <input type="submit" name="sub" />

 <?php 
    if(isset($_POST['sub']))
    {
        echo "total words are". $s. "Your word is". $res; 
    }
 ?>
    </form>

4 个答案:

答案 0 :(得分:0)

我唯一看到的错误就是你的论点倒退了。你正在做strpos(针,干草堆)。论点是这样的:

strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )

干草堆是你想看的地方,针是你想要查找的。所以你必须这样做:

strpos($n, $f);

您想要搜索$ n,$ f。

PHP - Strpos

编辑:另外,strlen不会为你提供单词总数,而是字符数。您必须使用此功能:PHP - str_word_count

答案 1 :(得分:0)

你有错误的strpos参数;

应该是:

$res=strpos($n,$f)

此外,如果您希望答案是人类可用的,您可能希望将$ res递增一:

$res=strpos($n,$f)+1

当strpos将第一个字符视为位置零(0)

答案 2 :(得分:0)

这里的答案是对的, 对于你在php上问什么,你应该使用strpos

但是,如果你想向用户展示你应该使用javascript或jquery 在这里你有一个关于javascript的代码

<!DOCTYPE html>
<html>
<body>

<button onclick="myFunction()">Search for Name</button>

<p id="demo"></p>

<script>
function myFunction() {
    var name = "saikios.";
    var n = name.indexOf("k");
    document.getElementById("demo").innerHTML = n;
}
</script>

</body>
</html>

答案 3 :(得分:0)

你需要这样的东西吗?

<form method="POST" action="">
    Char to search: <input type="text" name="char" /><br />
    Srting: <input type="text" name="name" /><br />
    <input type="submit" name="sub" value="submit" />
</form>

<?php
if (isset($_POST['sub'])) {
    if (strpos($_POST["name"], $_POST["char"]) !== false) {
        $words = explode(" ", trim($_POST["name"]));
        $wordsCnt = count($words);
        echo "total words are " . $wordsCnt."<br/>";
        echo "Name is: " . $_POST["name"]."<br/>";
        echo "Char what you search is " . $_POST["char"]."<br/>";
        echo "I found the first occurance your char at " . strpos($_POST["name"], $_POST["char"]);
    } else {
        echo "I do not found the character in the name!";
    }
}

因此,如果我将a写入char并Haystack来命名,您将获得:

total words are 1
Name is: Haystack
Char what you search is a
I found the first occurance your char at 1