2011-05-28 38 views
1

我正在嘗試讓我的網站Feed正常工作。PHP帶狀標記問題

我需要選擇一些內容並顯示在我的提要中。選擇後,我會剝離標籤然後顯示。

問題是這樣的:

的數據仍然顯示彷彿仍然存在標籤(但不可見的HTML標記),例如。剝離,在我的源代碼後生病了:

你好(只是說明)

----會有差距彷彿HTML字符依然存在之間,但不能看到任何時,我認爲我的source-- ---

我該如何解決這個問題。由於

編輯:

使其更清晰,剝我仍然得到文本這樣的後:

這是我的第一線

這是我在兩者之間的縫隙第二線第一行和第二行好像有段落標記

UPDATE

我使用這樣的:

$體= SUBSTR(用strip_tags(preg_replace函數( '/ \ N {2,} /', 「\ n」 個,$行[ 「POST_CONTENT」])),0150);

當我回聲$體,它仍然保持着新的生產線

+2

我不知道我理解。你能展示一個真實的例子嗎? – 2011-05-28 22:01:10

+0

我不明白......你能清楚嗎?對不起 – luca 2011-05-28 22:03:45

+0

最初是分開的行上的標籤?它可能是新行... \ n – Trey 2011-05-28 22:03:48

回答

1

你可能有一個\n這是在關閉標籤後,你剝奪了段落的結尾。

preg_replace('/[\p{Z}\s]{2,}/s',' ',$string); 

將去掉所有white spacetabsnew linesdouble spaces並用單一的空間取代。

\s匹配任何空格字符。相當於Unicode字符類別[\f\n\r\t\v\x85\p{Z}]。如果使用ECMAScript選項指定ECMAScript兼容行爲,則\s等效於[ \f\n\r\t\v]

1

用strip_tags將逐字剝去標籤,留下其他任何空格後面。 您可以使用正則表達式去除額外的換行符和空格,但取決於您的內容,您可能會破壞它。

刪除換行符:

$string = preg_replace('/\n{2,}/',"\n",$string); 

刪除多餘的空格:

$string = preg_replace('/ {2,}/',' ',$string); 
+0

其實我會修剪任何空格_BEFORE_你去掉標籤,因爲你也可能會修剪錯誤的空格。內容中可能有新行。但說實話,這實際上是棘手的。 – Halcyon 2011-05-28 22:11:54

0

我遇到了一些非常煩人的類似。解決與修剪

$body=strip_tags(trim($row["post_content"]));