Это было это, спасибо!

я странная проблема. рассмотрим этот короткий код:

<?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";

?>

На некоторых серверах сопоставление границ UTF8 не работает. я получил

Error: 0
Result: 

На большинстве серверов все работает нормально:

Error: 0
Result: This is a test_replaced text

Кажется, есть проблема с границей слов, как при использовании\b вместо этого код работает.

Оба сервера используют php 5.2.13. Любые подсказки, что может быть не так и как обойти это?

Ответы на вопрос(1)

Ваш ответ на вопрос