PHP、検索文字列のみハイライト(タグ内を除外)

ブログ | 2010/7/29 21:54
$strの文章の中、$wをem挟みます。HTMLタグ内は除外。
function f_src($str,$w){
 if(!empty($w)){
   $w = preg_quote($w);
   $w = strtr($w,array('/'=>'/'));
   $str = preg_replace_callback('/(<[^>]*'.$w.'[^<]*?>)|('.$w.')/iu',
     create_function(
       '$match',
       'if($match[1]){
         return $match[1];
       }elseif($match[2]){
         return "<em>".$match[2]."</em>";
       }'
     ),
     $str);
 }
 return $str;
}
これスゴイですね!
この処理、どうしてもHTMLタグも変換してしまって困ってたんです。
勉強になりました。ありがとうございます。
肉球プニ太 | 2012/02/01 02:45
Google | 2017/06/08 20:47
The item could take https://www.wattpad.com/389134464-best-vacuum-se... satisfaction in itself with extensive http://foodsaver55.pen.io/ features like high suction power and large http://foodsaver455.blogspot.in/2017/03/foodsave... range of use. It is unquestionably the http://foodsaver664.bravesites.com/FoodSaver664 best vacuum sealant on the market has extra ingenious http://foodsaver3.page.tl/ attributes compared to various other appliances.
匿名 | 2017/06/08 20:49
The chair is available in lots of http://theinfantcarseats.soup.io/post/625498434/... enjoyable shades, yet the lime environment-friendly and grey http://www.bricksite.com/webinfantcarseats one included above is the only http://highchairnetwork.greatwebsitebuilder.com/ one currently readily available at this affordable price.
raj | 2017/07/11 18:18
Julio Thompson | 2017/08/07 05:53
Blake Willard | 2017/12/02 17:06
縮小 拡大

ログインしておくと、後で編集が可能です。

Rottel内コンテンツ

ユーザー一覧

Rottelとは?
利用規約
開発飲料
利用者の声
ヘルプ
close