1

方法:

  • を使用して単語内の文字を置き換えますpreg_replace()が、特定の単語の一部である場合は例外を作成します。
  • 置換が小文字であっても、大文字を大文字に置換し、その逆も同様です。

例:

$string = 'Newton, Einstein and Edison. end';  
echo preg_replace('/n/i', '<b>n</b>', $string); 

出典:newto nEin stei n、およびEdison_ e n d to : Newton、Ein stei nおよびEdison 。_ _ _ 終わり

nこの場合、単語の一部でない限り、すべての文字を置き換えてend、次のようにNewton変更しないでください。newton

4

1 に答える 1

1
echo preg_replace('/((?<!\be)n|n(?!d\b))/i', '<b>\1</b>', $string);

[単語境界 + e] が前にないか、[d + 単語境界] が後にない任意の文字 'n' に一致します。

一般的なケース:/((?<!\b$PREFIX)$LETTER|$LETTER(?!$SUFFIX\b))/i'

于 2010-09-21T09:16:39.430 に答える