我有一個HTML這個樣子的(它的閃存播放器的JavaScript):PHP:的preg_match(新的挑戰)
var flashvars =
{
'autoplay' : autoplay,
'autoreplay' : 'false',
'start' : '',
'hideLinkPane' : 'true',
'disable_sharebar' : 'true',
'disablePauseroll' : disablePauseroll,
'video_url' : encodeURIComponent('WQFuk9Py2VC3jsCrPDJ69xtsj33MiXAElBzQw3TSHqOOyDYL0vRJELrB1hTTW3NG0A54kE2FVueuHMkQd8JveYb92eV+dYH4IUrrvJdP5Of9HGi+5i6GT11nL0dAv/ecyP4sB0jM8rVZzyS8imLarvPUvPuFPvvB8nwYXZ2ZKon4IPjmtC8SPftaw0PSuZKMg735hLCraeAE3lMQbRwiY7yMHKmUHDALG1Ky+HBDiK20vAGEIMwzPwKZmhbBXRGiHzEiXiRk4JgaVyp6N66EALao7VOE7UTzJLs='),
'encrypted' : 'true',
'video_title' : "some cool vids title here",
'embed_js' : "",
'prerollRepeat' : "false"
};
如何使用的preg_match來提取VIDEO_TITLE的價值,使其成爲:
echo $ videoTitle;
將輸出:一些很酷的視頻標題這裏
和VIDEO_URL將輸出:
WQFuk9Py2VC3jsCrPDJ69xtsj33MiXAElBzQw3TSHqOOyDYL0vRJELrB1hTTW3NG0A54kE2FVueuHMkQd8JveYb92eV + dYH4IUrrvJdP5Of9HGi + 5i6GT11nL0dAv/ecyP4sB0jM8rVZzyS8imLarvPUvPuFPvvB8nwYXZ2ZKon4IPjmtC8SPftaw0PSuZKMg735hLCraeAE3lMQbRwiY7yMHKmUHDALG1Ky + HBDiK20vAGEIMwzPwKZmhbBXRGiHzEiXiRk4JgaVyp6N66EALao7VOE7UTzJLs =
我的PHP是這樣的:
$pagex = $this->page;
$patternx = '/("video_title":")(.*?)(")/i';
if(preg_match($patternx,$pagex,$arx)){
$key = $arx[2];
}
$page = $this->page;
$pattern = '/("video_url":")(.*?)(")/i';
if(preg_match($pattern,$page,$ar)){
$link = $ar[2];
}
它不起作用。它什麼都沒顯示。
我想你需要回到基礎。你不靈活引號('[「']'),你不佔空格('\ S *'),你不佔'encodeURIComponent'等 –
任何引用鏈接? – Redbox
爲什麼你用正則表達式這樣做呢?爲什麼不哈瓦JavaScript的使用JSON發送的對象,並使用'json_decode()'在PHP? – Barmar