这个问题更多的是“什么是最好/最简单的方法” -type-of-question。我想从字符串中获取用户ID,例如
<a href="/profile.php?rdc332738&id=123456&refid=22">User name</a>
我想解析字符串并获得它的"123456"
部分。
我以为我可以爆炸字符串然后我会得到id=123456&blahblahblah
而我想我必须以某种方式动态地从末尾移除垃圾。我认为这可能与正则表达式有关,但我对PHP很新,所以正则表达式比我高一点。
答案 0 :(得分:2)
函数parse_str()将在这里提供帮助
$str = "profile.php?rdc332738&id=123456&refid=22";
parse_str($str);
echo $id; //123456
echo $refid; //22
答案 1 :(得分:1)
只需抓取id=
到&
或"
的任何字符(后者说明id
最后放在查询字符串上的情况)
$str = 'a href="/profile.php?rdc332738&id=123456&refid=22">User name</a>';
preg_match('/id=([^&"]+)/', $str, $match);
$id = $match[1];
答案 2 :(得分:0)
正则表达式:
.*id[=]([0-9]*).*$
答案 3 :(得分:0)
如果你爆炸了字符串:
$string="<a href="/profile.php?rdc332738&id=123456&refid=22">User name</a>"
$string_components=explode('&','$string');
用户ID部分(id = 123456)将为:
$user_id_part=$string_components[1];
然后你可以做一个字符串替换:
$user_id=str_replace('id=','$user_id_part');
您拥有用户ID