Для размещения на разных языках у меня есть это (PCRE / PHP):
'~(?<!\p{Latin})#(\p{Latin}+)~u'
или
$language = 'ex. get form value';
'~(?<!\p{' . $language . '})#(\p{' . $language . '}+)~u'
или для циклического перебора нескольких скриптов
$languages = $languageArray;
$replacePattern = [];
foreach ($languages as $language) {
$replacePattern[] = '~(?<!\p{' . $language . '})#(\p{' . $language . '}+)~u';
}
$replacement = '<html>$1</html>';
$replaceText = preg_replace($replacePattern, $replacement, $text);
\w
прекрасно работает, но, насколько я видел, только для латинского алфавита.
Переключатель Latin
для Cyrillic
или Phoenician
в приведенном выше примере.
Приведенный выше пример не работает для скриптов 'RTL'.