1

サイトフィードを機能させようとしています。

コンテンツを選択してフィードに表示する必要があります。選択後、タグを削除して表示します。

問題はこれです:

データは、タグがまだ存在するかのように表示されます(ただし、表示されるhtmlタグはありません)。ストリッピング後、私のソースでは病気があります:

こんにちは(説明するだけです)

---- html文字がまだ存在するかのように間にギャップがありますが、ソースを表示すると何も表示されません-----

やあ

どうすればこれを修正できますか。ありがとう

編集:

明確にするために、ストリッピングした後でも、次のようなテキストが表示されます。

これが私の最初の行です

これは、段落タグがあるかのように、1行目と2行目の間にギャップがある私の2行目です。

アップデート

私はこれを使用しています:

$ body = substr(strip_tags(preg_replace('/ \ n {2、} /'、 "\ n"、$ row ["post_content"]))、0,150);

$ bodyをエコーし​​ても、新しい行が維持されます

4

3 に答える 3

2

\n削除した終了タグの後の段落の最後にある可能性があります。

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

white space、、、およびをすべて削除しtabs、単一のスペースに置き換えます。new linesdouble spaces

\s任意の空白文字に一致します。Unicode文字カテゴリに相当します[\f\n\r\t\v\x85\p{Z}]。ECMAScript準拠の動作がECMAScriptオプションで指定されている場合、はと\s同等[ \f\n\r\t\v]です。

于 2011-05-28T22:21:14.603 に答える
1

strip_tagsは文字通りタグを削除し、他の空白を残します。正規表現を使用して余分な改行や空白を取り除くこともできますが、コンテンツによっては、それを壊してしまう可能性があります。

改行を削除します。

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

余分なスペースを削除します。

$string = preg_replace('/ {2,}/',' ',$string);
于 2011-05-28T22:05:14.460 に答える
0

私は非常に厄介な類似点を経験していました。トリムで解決

    $body=strip_tags(trim($row["post_content"]));
于 2017-07-27T19:37:21.250 に答える