2013-12-20 40 views
0

我想分解一些东西在PHP中,我不能得到它的工作..一直试着现在,所以想我会问在这里。我如何在PHP中分割它?

因此,我们可以说我的源代码中有多个<script> ... </script>,那我能做些什么来将它们拆分为一个字符串。我正在尝试爆炸,但没有按计划进行。

这是我到目前为止已经试过:

$script = explode('<script>',$data,1); 
echo htmlspecialchars($script[1]); 

试过,但没有得到任何具体的<script>

示例脚本:

<script> 
script here... 
</script> 

<script> 
second script here... 
</script> 

那么我将如何去获得第二个脚本?

对不起,我不是最好的正则表达式或在PHP解析,还有圣诞快乐给大家! :)

+0

让我们看看你已经尝试什么 –

+0

$脚本=爆炸( '

3

使用loadHTML()

$doc = new DOMDocument(); 

// load the HTML string we want to strip 
$doc->loadHTML($html); 

// get all the script tags 
$script_tags = $doc->getElementsByTagName('script'); 
2

,而不是字符串函数,我会使用DOM解析器,例如PHP的DOM文档中提取所需的数据。这里是你如何能做到这一点:

$text = <<<TEXT 
<script> 
script here... 
</script> 

<script> 
second script here... 
</script> 
TEXT; 

$dom = new DOMDocument; 
$dom->loadHTML($text); 
echo $dom->getElementsByTagName('script')->item(1)->nodeValue; 

一些解释:

的文本使用loadHTML()方法加载,然后你用getElementsByTagName()方法来获取所有的脚本标记。现在我们使用item(1)专门定位第二个<script>标记,然后回显该节点的nodeValue

输出:

second script here...