Использование Drupal 8.x, PHP 7
Работа с некоторой заменой регулярных выражений, которую я нашел \p{Language}
, например \p{Armenian}
.
Мне нравится этот подход, потому что он оправдан, я могу сказать: «Это поддерживает официальные сценарии и все ...» и кажется достаточно гибким. Но ... \p{English}
в качестве значения возвращает ошибку.
Чтобы справиться с этим, я попробовал код ниже:
// Get current site language.
$language = \Drupal::languageManager()->getCurrentLanguage()->getName();
// Filter by Language.
if ($language == 'English') {
// Search for any word that starts with '@' in English.
$pattern = '/@(\w+)/';
}
else {
// Search for any word that starts with '@' by language.
$pattern = '~@(\p{' . $language . '}+)~u';
}
// Execute replacement.
$replaceText = preg_replace($pattern, $replacement, $text);
Есть ли способ расширить на \p{}
или включить другие языки?