Niestety, przy polskich znakach [a-z] chyba nie przejdzie, a przy kodowaniu np utf-8 na 100% będą błędy. A tak wogóle, to po co tak komplikować tę funkcję, jakieś nie potrzebne preg_match_all, nie rozumiem tego. Nie można tak:
Coś się kolorowanie sypie, ale kod dziala:
Kod
<?php
function personalize( $sString, $iGender )
{
return preg_replace( '/\<(\S*)\!(\S*)\>/', '\\' . (int) $iGender, (string) $sString );
}
$sString = 'Czy chciał<byś!abyś> mieć taki dom? Czy m<ógł!ogła>byś kupić mleko?';
echo '<strong>Mężczyzna:</strong></br />';
echo personalize( $sString, 1 );
echo '<br /><strong>Kobieta:</strong><br />';
echo personalize( $sString, 2 );
?>