テキストの中のキーワードを強調する

<?php
$text=<<<TEXT
 リンゴ

 アダムとイブに出てくるやつで、パソコンには、食いかけのものが光っていることがある
TEXT;

$hilight_rules= array(
 array('リンゴ'=>'color:red;'),
 array('パソコン'=>'color:blue;'),
 array( 'アダム'=>'color:yellow;')
 );
echo 'test'. nobita_keyword_hilight($text, $hilight_rules); 

function nobita_keyword_hilight( $text, $hilight_rules ) {

 $checksum = crc32( $text );
 $class_name = trim( sprintf( "section-%u\n", $checksum ) );
 $wrapper = '<span style="%1$s">%2$s</span>';
 $block_wrapper= '<div class="%1$s">%2$s</div>';

 foreach ( $hilight_rules as $value ) {

 $name= key( $value );
 $replace_value= sprintf( $wrapper, esc_attr( $value[$name] ), $name );
 $text= str_replace( $name, $replace_value, $text );
 }
 $text= sprintf( $block_wrapper, $class_name, wpautop( $text ) );
 return apply_filters( 'nobita_keyword_hilight', $text );
}
?>

結果:

<div class="section-607577368"><p> <span style="color:red;">リンゴ</span></p>
<p> <span style="color:yellow;">アダム</span>とイブに出てくるやつで、<span style="color:blue;">パソコン</span>には、食いかけのものが光っていることがある</p>
</div>

リンゴ

アダムとイブに出てくるやつで、パソコンには、食いかけのものが光っていることがある

  • http://ja.forums.wordpress.org/topic/136010?replies=10(b:@source)

[emulsion_relate_posts]