我使用简单的HTML DOM Parser从页面获取html。
现在我想从<script></script>
标签中删除文件网址。这就是我得到的:
<script type="text/javascript">
jwplayer("ContainerFlashPlayer").setup({
'autostart': 'true',
'primary': 'html5',
'flashplayer': '/images/embed/player.5.10.swf',
'file':'/zxdfgdfr44444/afrah/Basem_elkerbelay/selawat/guivvahpasjp.mp3',
'duration': '356.64975',
'image': '/images/flashimg.png',
'volume': '75',
'height': '240',
'width': '330',
'controlbar': 'bottom',
'stretching': 'fill',
'skin': '/images/embed/skin/shiavoice1.2.zip'
});
</script>
现在我想获取文件网址。 我该怎么办?
答案 0 :(得分:0)
你可以......
f
输出:
/zxdfgdfr44444/afrah/Basem_elkerbelay/selawat/guivvahpasjp.mp3
那个正则表达式说了什么?
<?php $string = "jwplayer(\"ContainerFlashPlayer\").setup({ 'autostart': 'true', 'primary': 'html5', 'flashplayer': '/images/embed/player.5.10.swf', 'file':'/zxdfgdfr44444/afrah/Basem_elkerbelay/selawat/guivvahpasjp.mp3', 'duration': '356.64975', 'image': '/images/flashimg.png', 'volume': '75', 'height': '240', 'width': '330', 'controlbar': 'bottom', 'stretching': 'fill', 'skin': '/images/embed/skin/shiavoice1.2.zip' });"; preg_match("~^\s*'file'\s*:\s*'(.*?)',?\s*$~m", $string, $file); echo $file[1];
线的开头
^
任意数量的空白字符搜索以下实际文字
\s*
再次使用冒号分隔任意数量的空白字符
'file'
单引号然后介于其中的所有内容和下一个单引号
\s*:\s*
可选的逗号,可选的空格,然后是行
的结尾'(.*?)'
结束分隔符之后的
,?\s*$
是正则表达式搜索每一行作为自己的行。
http://php.net/manual/en/reference.pcre.pattern.modifiers.php http://php.net/manual/en/function.preg-match.php