2017-10-09 11 views
0

スマートテンプレートを使用した記事のWebサイトでは、主なコンテンツを切り捨ててティーザーを作成する必要があります。私はcharで切り捨てることができますが、最初の段落の長さは記事から記事まで全く分かりません。 私は最初の段落を示すことが賢く何かしたい:Smartyでコンテンツを最初の段落に切り捨てます

内容:

This is my first paragraph and I want to display this and only this. 

This the rest of the content and it is very long with a lot of words... 

ティーザー:

This is my first paragraph and I want to display this and only this. 

答えて

0

ので、この時点でのwiki構文またはHTMLを切り捨てるためのテキストがありますか?ウィキの場合は、strpos PHP関数を使用して\ n \ nの検索を行うことができます(セキュリティコントロールパネルのスマート機能に既に追加されている場合は、それをに追加してください)。その後、テキスト上でsubstr関数を実行し、 "..."を追加するか、後ろの文字を追加します。私に正しい方向を指し示す HTH

+0

感謝し; - それはhtmlのだならば、preg_replaceはおそらく最良の方法だろう

{preg_replace('/^.*?<\/p>/mis','$1"',$content)}... 

のようなもの...ちょうど(申し訳ありませんが、テストされていない)動作する可能性があります。 これを使用して、複数行のフラグを削除した後、コンテンツから最初の段落を隠す方法を私の質問の第2部分で解決できます: '{*最初の段落を削除*}' {{preg_replace( '/ ^。 *?<\/p>/is '、' '、$ content)} ' 最初の段落のみを表示しようとしましたが失敗しました。 上記のコードは、「3回(自分のコンテンツに3段落あります)」と表示されます。 複数行フラグを削除すると1つだけ表示されます。 '{preg_replace( '/^.*?<\/p>/is'、 '$ 1' '、$ content)}' –

関連する問題