Ktai style で見出しに画像を使っている際に alt 属性の中身だけを抜き出し img タグを消してコンテンツを出力するコード

必要に迫られ物凄い勢いで書きました。
Ktay style の中で WordPress のタグを使います。

かなり力不足なコードですが、Ktai style を使いたい場合、最悪これで道は開けそうです。何かもっと良いコード教えてください。

1
2
3
4
5
6
7
function noimg($html) {
	$html = preg_replace('/(<img\s[^>]*?alt\s*=["\']?)/i', '', $html);
	return preg_replace('/(["\']\s\/>?)/i', '', $html);
}
$ks_body = get_the_content();
$ks_body = noimg($ks_body);
echo apply_filters('the_content', $ks_body);

Comments

  1. ゆりこ@プラグイン作者2010-3-03 (水) 2:22:13

    これだとすべての img 要素が変換されてしまうので、画像をいっぱい使った投稿だとはまりそうです。見出し画像には特別な class を割り当てて、それを検出して alt 要素の文字列に置換する方がいいでしょう。具体的には image_to_link フィルターを使って、そこで class 要素の中身を確認して、その特別なクラス名 (例えば headline) があれば置き換えるという手です。

  2. Sorai2010-3-03 (水) 7:30:46

    いつもブログなど拝見させていただいております。
    確かに全ての画像がなくなってしまうので、どうしたものかと考えていたんですが、その手がありましたね!貴重なご意見ありがとうございます。
    また今後必要になってくると思いますので、その方法でコードを書き直したら、追記していきたいと思います。

Leave a Comment

Trackback URL