<?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)