我的facebook下面有你的网址(这些都是facebook视频),我想得到它的身份。
输出必须是:
1. 1388211471439632
2. 1388211471439632
我用这个正则表达式来获取ID。
preg_match("~/videos/(?:t\.\d+/)?(\d+)~i", $_GET['url'], $matches);
echo $matches[1];
它适用于#1
,但在#2
它无效。
任何解决方案?
答案 0 :(得分:1)
我猜你想要一个正则表达式用于这两个链接?
?
请注意正则表达式末尾的/
,这样就可以解析它而不会跟踪&
或$matches
。如果您只想解析同时存在的ID,请从正则表达式中删除问号。
array(5) {
[0]=>
string(24) "videos/1722369168023859/"
[1]=>
string(6) "videos"
[2]=>
string(1) "/"
[3]=>
string(16) "1722369168023859"
[4]=>
string(1) "/"
}
的var_dump将是:
$matches2
array(5) {
[0]=>
string(28) "story_fbid=1722369168023859&"
[1]=>
string(10) "story_fbid"
[2]=>
string(1) "="
[3]=>
string(16) "1722369168023859"
[4]=>
string(1) "&"
}
的var_dump将是:
<?php
class AwesomeModel extends CI_Model
{
publif function do_work($param, $anotherParam)
{
//code here
}
}
Then your controller:
<?php
class AwesomeController extends CI_Controller
{
public function __construct()
{
/*
* load in constructor so not need to recall every time you want use it
* second parameter is model renaming (optional)
*/
$this->load->model('AwesomeModel', 'awe');
}
public function pass_data()
{
$this->awe->do_work($param1, $param2);
}
?>
答案 1 :(得分:0)
要从URL获取参数,可以使用parse_url和parse_str函数。
parse_str(parse_url($link2)['query'], $array);
print_r($array);
输出
Array
(
[story_fbid] => 1722369168023859
[id] => 1388211471439632
)