2013-09-24 32 views
2

我想從我的php文件中顯示的xml文件中僅排除<img>標記(新聞源中的廣告)。我知道these應該工作,以刪除屬性,但沒有任何其他的只是刪除img顯示?我認爲必須有另外一種方法來解決這個問題,並且想知道什麼PHP功能對這個問題有好處? (+鏈接中的信息對我不起作用。)PHP從xml中排除信息

回答

2

使用一個Regular Expression來簡化事情。通過你的XML內容如圖所示。

$filtered_content = preg_replace("/<img[^>]+\>/i", "(image) ", $your_xml_content); 
+1

這沒有工作謝謝。可以使用一些更多的解釋爲後來訪問的人: $ xmltoecho = preg_replace(「/ 」+ \>/i「,」(image)「,$ your_xml_content); 如何使用preg_replace: preg_replace(「要替換什麼」,「什麼替換它」,$ your_xml_content); 無論如何,謝謝! – Loko

-2

如果你有一個DOM文檔,你可以getElementsByTagname然後通過你得到removeChild仁對列表進行迭代。刪除屬性不會這樣做。

+0

如果您點擊了我提供的鏈接,您可以看到我想要與這種方式不同。 – Loko

+0

嗯,我沒有點擊鏈接(什麼是假設!),我的解決方案_is_不同於「這種方式」,因爲它實際上會工作(removeChild是「對這個問題很好」,而removeAttribute不是)。您可以在確定正確的解決方案之前澄清「這種方式」到底出了什麼問題。 – kubi

+0

這仍然是一個更大和惱人的解決方案。 +你說的是,刪除屬性不會這樣做。我剛纔做的。 – Loko

2

您可以使用正則表達式來替換圖片標籤......或者只是使用樣式屬性,您可以使圖片標籤的可見性隱藏或顯示爲無。

1

也許this堆棧溢出問題可以幫助。將您的xml放在$content字符串中,並按照頂級答案中所述進行regexing。