2009-10-27 76 views
0

我想知道如果我可以在包含分隔符的變量上使用php函數,如'"。我收到來自我的數據庫的文本內容,我想使用:strip_tags($desc);,但它不起作用。使用帶有分隔符的變量的php函數

這裏是什麼,它可以包含使用VAR轉儲一個例子:

string(1039) ""txt <a href=""/txt.php"" class=""txt"">txt</a> . txt'txt <a href=""/txt.php"" class=""txt"">txt</a> txtxtxtxt& " " 
+1

是什麼意思「它不工作」你應該更好地闡明它請張貼EXA? ct代碼,文本示例,您預期會發生什麼,以及發生了什麼...... – Palantir 2009-10-27 13:51:58

+0

在我存儲在我的數據庫中的文本中包含「和」字符。當我將strip_tags應用於所有前面都帶有反斜槓的文本時,該函數將起作用。當我嘗試直接使用它來自數據庫的文本時,它不會刪除任何html標記。 – Roch 2009-10-27 13:59:09

回答

2

我猜你要刪除所有標籤。您應該改用內置函數strip_tags()

+0

我也試過了,但只有當我在帶撇號前的反斜槓變量上使用它時,它才起作用。當我直接將它應用於db的內容時,它會一直顯示html標籤。 – Roch 2009-10-27 13:54:04

+1

如果字符串包含任何引號,則無關緊要,因此該錯誤必須位於其他位置。你可以將輸入發佈到strip_tags及其輸出,都使用var_dump()? – soulmerge 2009-10-27 14:04:48

+0

謝謝我要試一試 – Roch 2009-10-27 14:07:39

0

儘量不要使用ereg_replace,因爲它將要停止使用。

ereg_replace
此功能已被棄用的PHP 5.3.0和去除PHP 6.0.0的。依靠這個功能是非常不鼓勵的。

strip_tags
這就是說你想改變所有這些字符爲空或你想剝去標籤?您也可以將字符轉換爲html_entities

$desc = strip_tags($desc); 
0

我假設你想在變量工作,而不是去掉標籤,然後使用此:

<?php 
$str = "A 'quote' is <b>bold</b>"; 

// Outputs: A 'quote' is &lt;b&gt;bold&lt;/b&gt; 
echo htmlentities($str); 

// Outputs: A &#039;quote&#039; is &lt;b&gt;bold&lt;/b&gt; 
echo htmlentities($str, ENT_QUOTES); 
?> 

ヶ輛,會讓你的「&」安全處理,那麼你可他們如果需要的話回來後轉換

參考代碼:http://us2.php.net/manual/en/function.htmlentities.php