2011-09-24 139 views
7

我想從我的HTML文件中刪除這個字符串的所有出現:str_replace函數不工作

<span style="font-size: 12pt;">BLANK PAGE</span> 

我試過str_replace函數,以爲這將是一個簡單的解決方案,但它不工作:

$html = str_replace('<span style="font-size: 12pt;">BLANK PAGE</span>', '', $html); 

有什麼建議嗎?

更新:神祕解決!感謝大家讓我知道這應該工作。原來這個問題與str_replace無關!我從firebug中獲取了html字符串,沒有意識到firebug會插入空格來「美化」html。這就是爲什麼str_replace無法找到這個確切的模式。 我希望刪除這個問題,因爲問題最終與str_replace無關。那可能嗎?

+1

它確實有效(請參閱[這裏](http://ideone.com/tayIU))。您可以發佈[SSCCE](http://pscode.org/sscce.html)嗎? – Howard

+0

我假設這個HTML然後被寫回原始文件? –

+0

@Doug:是的,我正在將HTML寫回原始文件。 – moondog

回答

13

str_replace()返回新的版本 - 你需要給它分配回變量(或一個新的變量):

$myhtml = str_replace('<span style="font-size: 12pt;">BLANK PAGE</span>', '', $myhtml); 
+0

對不起,我應該更清楚。是的,那是我的嘗試。我現在將澄清原來的帖子。 – moondog

-2

使用str_replace函數,你不能代替HTML標籤。它只取代確切的發生。如果要替換span文本「strip_tags」以刪除所有標記並使用str_replace更改跨度文本。

+0

關於HTML標籤的不準確性? –

4

它應該這樣工作。你可能忘記把結果賦給你的變量了嗎?

$myhtml = str_replace('<span style="font-size: 12pt;">BLANK PAGE</span>', '', $myhtml); 
0

我的問題是,我使用str_replace函數去替換特殊字符,如(A,E,I,O,U)和沒有工作。我試圖使用記事本++更改文件轉換爲utf8-沒有BOM,將文件上傳到服務器,它工作!