2013-12-17 76 views
2

我需要從保存到變量的XML文件中僅刪除特定的標記</licenses>通過PHP從字符串中刪除特定的XML標記

我已經試過這一點,但我沒有得到預期的輸出:

<?php 

    print preg_replace("</licenses>", "", "</licenses>"); 

?> 

返回:

<> 

令人奇怪的是,下面的刪除所有標籤的內容:

<?php 

    print preg_replace("<>", "", "</licenses>"); 

?> 

我能想到的是我以某種方式打到正則表達式模式或其他東西。 我該怎麼做?

+0

這是因爲''<' and '>是[用作定界符(http://www.php.net/manual/en/regexp.reference.delimiters.php)。只有它們內部的「'/ licenses'」將被替換。 –

回答

3

您需要的preg_replace第一個參數是一個正則表達式使用正則表達式分隔符:

echo preg_replace("#</licenses>#", "", "</licenses>"); 

這將返回一個空字符串如預期。

+0

非常感謝! – Jamus

+0

非常歡迎:) – anubhava

2

您可以使用它。

print preg_replace("/<\/licenses>/", "", "</licenses>"); 
+3

'<' and '>'不是特殊字符,不需要轉義。 –