如何在 PHP 中的单词或符号后抓取数字?
How to grab number after a word or symbol in PHP?
我想抓取带有 PHP 的文本,例如,有一个数据 "The apple=10",我想抓取 仅数字 从看起来完全一样的数据。我的意思是,数字的位置应该在 'equals'.
之后
我的问题是来自源的数字可以是 2 或 3 个字符,或者换句话说,它是不稳定的。
请帮我解决一下:)
嗯,php有点懒惰int
转换,所以12345blablabla
可以转换成12345
:
$value = intval(substr($str, strpos($str, '=') + 1));
当然,这不是最干净的方法,但很简单。如果你想要更干净的东西,你可以使用正则表达式:
preg_match ('#=([0-9]+)#', $str, $matches);
$value = intval($matches[1]) ;
试试下面的代码:
$givenString= "The apple=10";
$required_string = substr($givenString, strpos($givenString, "=") + 1);
echo "output = ".$required_string ; // output = 10
使用strpos()函数,可以找到字符串中子串第一次出现的位置
和 substr() 函数,Return 字符串的一部分。
$string = "Apple=10 | Orange=3 | Banana=7";
$elements = explode("|", $string);
$values = array();
foreach($elements as $element)
{
$element = trim($element);
$val_array = explode("=", $element);
$values[$val_array[0]] = $val_array[1];
}
var_dump($values);
输出:
array(3) {
["Apple"]=> string(2) "10"
["Orange"]=> string(1) "3"
["Banana"]=> string(1) "7"
}
希望这就是您所需要的:)
我想抓取带有 PHP 的文本,例如,有一个数据 "The apple=10",我想抓取 仅数字 从看起来完全一样的数据。我的意思是,数字的位置应该在 'equals'.
之后我的问题是来自源的数字可以是 2 或 3 个字符,或者换句话说,它是不稳定的。
请帮我解决一下:)
嗯,php有点懒惰int
转换,所以12345blablabla
可以转换成12345
:
$value = intval(substr($str, strpos($str, '=') + 1));
当然,这不是最干净的方法,但很简单。如果你想要更干净的东西,你可以使用正则表达式:
preg_match ('#=([0-9]+)#', $str, $matches);
$value = intval($matches[1]) ;
试试下面的代码:
$givenString= "The apple=10";
$required_string = substr($givenString, strpos($givenString, "=") + 1);
echo "output = ".$required_string ; // output = 10
使用strpos()函数,可以找到字符串中子串第一次出现的位置 和 substr() 函数,Return 字符串的一部分。
$string = "Apple=10 | Orange=3 | Banana=7";
$elements = explode("|", $string);
$values = array();
foreach($elements as $element)
{
$element = trim($element);
$val_array = explode("=", $element);
$values[$val_array[0]] = $val_array[1];
}
var_dump($values);
输出:
array(3) {
["Apple"]=> string(2) "10"
["Orange"]=> string(1) "3"
["Banana"]=> string(1) "7"
}
希望这就是您所需要的:)