How to extract a substring from a string in PHP until it reaches a certain character?

前端 未结 5 2103
野趣味
野趣味 2020-12-11 18:37

I have part of a PHP application which assess a long string input by the user, and extracts a number which always begins 20 characters into the string the user supplies.

相关标签:
5条回答
  • 2020-12-11 18:54

    Going to just add on to Gumbo's answer in case you need help with the substring function:

    $pos = strpos($str, '"', 20);
    $substring = substr($str, 20, $pos);
    
    0 讨论(0)
  • 2020-12-11 19:07
    $nLast = strpos($userString , '"');
    substr($userString, 0, $nLast);
    
    0 讨论(0)
  • 2020-12-11 19:08
    <?
    
    $str = substring($input, 20, strpos($input, '"') - 20);
    echo $str;
    
    ?>
    

    Or something like that etc.

    0 讨论(0)
  • 2020-12-11 19:13

    You can use strpos to get the first position of " from the position 20 on:

    $pos = strpos($str, '"', 20);
    

    That position can then be used to get the substring:

    if ($pos !== false) {
        // " found after position 20
        $substr = substr($str, 20, $pos-20-1);
    }
    

    The calculation for the third parameter is necessary as substr expects the length of the substring and not the end position. Also note that substr returns false if needle cannot be found in haystack.

    0 讨论(0)
  • 2020-12-11 19:17

    find first occurrence of double quote after 20 chars, substract 19 - that gives you length of desired substring:

    $dq = strpos($string,'"',19); //19 is index of 20th char
    $desired_string = substr($string,19,$dq-19);
    
    0 讨论(0)
提交回复
热议问题