PHP-REGEX: letras acentuadas combinam com as não acentuadas e vice-versa. Como conseguir isso?

Eu quero fazer código de destaque típico. Então eu tenho algo parecido com:

$valor = preg_replace("/(".$_REQUEST['txt_search'].")/iu", "<span style='background-color:yellow; font-weight:bold;'>\\1</span>", $valor);

Agora, a palavra de solicitação poderia ser algo como "josé". E com isso, quero destacar "jose" ou "JOSÉ" ou "José" etc.

Com esta expressão, se eu escrever "josé", combina "josé" e "JOSÉ" (e todas as variantes de caso). Ele sempre corresponde apenas às variantes acentuadas. Se eu pesquisar "jose", combina "JOSE", "jose", "José", mas não os acentuados. Então eu tenho parcialmente o que eu quero, porque eu tenho insensível a maiúsculas e minúsculas no acentuado e não acentuado separadamente.

Eu preciso disso totalmente combinado, o que significa sotaque (unicode) insensível, para que eu possa pesquisar "jose", e destacar "josé", "josé", "José", "JOSE", "JOSÉ", "JoSé", .. .

Eu não quero fazer uma substituição de acentos na palavra, porque quando eu imprimi-lo na tela eu preciso ver a palavra real como se trata.

Alguma ideia?

Obrigado!

questionAnswers(2)

yourAnswerToTheQuestion