O limite da palavra regex não funciona no ut8 em alguns servidores
Tenho um problema estranho. considere este código curto:
<?php
$reg = '/(?<!\pL)(test)(?!\pL)/u';
$text='This is a test text';
$replace = 'test_replaced';
$newtext = preg_replace($reg, $replace, $text);
echo "Error: ".preg_last_error()."\nResult: ".$newtext."\n";
?>
Em alguns servidores, a correspondência de limites UTF8 não funciona. eu recebo
Error: 0
Result:
Na maioria dos servidores, tudo funciona normalmente:
Error: 0
Result: This is a test_replaced text
Parece haver um problema com o limite de palavras como quando eu uso\b
em vez disso, o código funciona.
Ambos os servidores usam o php 5.2.13. Alguma pista do que pode estar errado e como contornar isso?