2013-12-20 64 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...