Perl¤ÎÀµµ¬É½¸½¤òÍøÍѤ·¤¿¤È¤¡¢preg_replace ¤ò»È¤¦¤È EUC ¤Î°·¤¤¤ËÃí°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£EUC ¤Ç¤Ï¡¢¹¥¢¾¥¹¥È ¤Ê¤Î¤Ç ¡Ö¹¥¡×¤È¤¤¤¦´Á»ú¤òÃÖ¤´¹¤¨¤è¤¦¤È¤·¤¿¤È¤¤Ë¡Ö¥¹¥È¡×¤Î¥¹¤Î£²¥Ð¥¤¥ÈÌܤȥȤΣ±¥Ð¥¤¥ÈÌܤ˥ޥåÁ¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¤½¤³¤Ç¡¢EUC¤ò°ìö UTF-8 ¤ËÊÑ´¹¤·¤ÆÀµµ¬É½¸½¤òÍøÍѤ·¤Þ¤¹¡£¤·¤«¤·¡¢½èÍý¤¬ÃÙ¤¤¤Î¤¬·çÅÀ¤Ç¤¹¡£
<?php
// ¥¿¥°¤Î³°¤Îʸ»ú¤ò¥Ü¡¼¥ë¥É¤Ë
$string = '¤³¤ì¤Ï<a href="abc.php?d=¹¥¤">¹¥¤<a>¤Ê¥Æ¥¹¥È¤Ç¤¹¡£';
$replace = '¹¥';
// ´Ö°ã¤Ã¤ÆÃÖ´¹¤·¤Æ¤·¤Þ¤¦
print preg_replace("/((?:\G|>)[^<]*?)($replace)/i", "\\1<b>\\2</b>", $string)."\n";
// °ìö¡¢UTF-8 ¤Ë¤·¤ÆÃÖ´¹
print utf_preg_replace("/((?:\G|>)[^<]*?)($replace)/i", "\\1<b>\\2</b>", $string)."\n";
function utf_preg_replace($pattern, $replacement, $subject, $limit=-1) {
$pattern = mb_convert_encoding($pattern, "UTF-8", "eucjp-win");
$replacement = mb_convert_encoding($replacement, "UTF-8", "eucjp-win");
$subject = mb_convert_encoding($subject, "UTF-8", "eucjp-win");
$subject = preg_replace($pattern, $replacement, $subject, $limit);
$subject = mb_convert_encoding($subject, "eucjp-win", "UTF-8");
return $subject;
}
?>
¡Ú¼Â¹Ô·ë²Ì¡Û| ¥ª¥ê¥¸¥Ê¥ë¤Îʸ»úÎó¡§ | ¤³¤ì¤Ï¹¥¤¤Ê¥Æ¥¹¥È¤Ç¤¹¡£ |
| preg_replace ¤Î¾ì¹çʸ»ú²½¤±¤¹¤ë¡§ | ¤³¤ì¤Ï¹¥¤¤Ê¥Æ¥¹¥È¤Ç¤¹¡£ |
| utf_preg_replace ¤Î¾ì¹ç¡§ | ¤³¤ì¤Ï¹¥¤¤Ê¥Æ¥¹¥È¤Ç¤¹¡£ |