正規表現道場@2ch Part3 s/煽り|荒らし/あぼーん/g
■ このスレッドは過去ログ倉庫に格納されています
0491nobodyさん
04/07/16 17:28ID:???パフォーマンスが悪いのは承知で、
$hage = mb_convert_case($hoge, 'asKV')
$hage = preg_replace('/pattern/', '<span class="match">$0</span>', $hage);
$part = preg_split('/(<.+?>)/', $hage, 0, PREG_SPLIT_DELIM_CAPTURE);
$result = '';
$pos = 0;
foreach ($part as $key => $value) {
if ($key % 2 == 0) {
if (($len = mb_strlen($value)) > 0) {
$result .= mb_substr($hoge, $pos, $len);
$pos .= $len;
}
} else {
$result .= $value;
}
}
というのも考えてみたけど半角の濁点の処理などをさらに追加せねばならず、大変。
mb_ereg_replaceかpreg_replaceのオプションで全角半角を無視ってのできないかなあ。
■ このスレッドは過去ログ倉庫に格納されています