2016-07-09 3 views
0

Facebook用の適切なog:descriptionを作成するには、テキスト記事の最初の200文字を説明として使用する必要があります(そうでない場合は、タイトルのみになります)。変数の内容を調整する場合(charを含む場合)

私のヘッダーにはこう書いてあります。

{if not empty($post_info.parsed_excerpt)} 
<meta name="description" content="{$post_info.parsed_excerpt|truncate:200|escape}" property="og:description"> 
{else} 
<meta name="description" content="{$post_info.title|escape} - {$blog_data.title|escape}" property="og:description"> 
{/if} 

私は正しいが、例外を見つけた。 記事には読みやすいテキスト以外のものが含まれている可能性があります。画像プラグインもあります。<img src="http.../>。私はテキストコンテンツがなくてもイメージだけがあるケースもあります。

だから私はそれを適応させる必要があった。私は {$post_info.parsed_excerpt|truncate:200|strip_tags|escape} にビット {$post_info.parsed_excerpt|truncate:200|escape} を微調整し、説明は任意のタグなしで今あるので 私はstrip_tags修飾子を見つけました。半完成!:)

タグなしで$post_info.parsed_excerptを探すには、最初の条件{if not empty($post_info.parsed_excerpt)}が必要です。あなたは、私が実際にはこれが最初に私はそれを聞いたある、全くsmarty3に精通していないよ

+0

をフォーマットして、200に切り捨てる: '{$のpost_info.parsed_excerpt | strip_tags | TRUNCATE:200 |エスケープは}' – m13r

+0

は、第一の条件は何ですか?私はそれを取得しない...ちょうど同じことを他の変数... – m13r

答えて

-1

を助けるため

をありがとうございます。また、新しいif文で何を達成しようとしているのか、HTMLタグとその属性を除いて文字列が空であるかどうかチェックしようとしていますか?条件に先立ってタグを削除できない場合は、新しい変数にそのタグを割り当ててから、代わりにその変数を確認してください。 $excerpt_without_tags = strip_tags($post_info.parsed_excerpt); if (not empty($excerpt_without_tags)) { // Do stuff }

また、ちょうど、charが含まれていると言っているタイトルから、PHPのstrpos()関数を見てください。もう一度やり直してください。その機能のスマートなサポートについて確かめてください。

これは少し助けてくれると思いますが、私が誤解した場合はごめんなさい!

EDIT:あなたより良い第1のストリップタグ

関連する問題