Включить письмо на арабском и английском языках (регулярное выражение - PHP) [дубликат]

Если вы знаете, что у вас есть разработчики интерфейса, достаточно простой хак, который вы можете использовать, чтобы получить тип интерфейса для сериализации без написания кода разбора:

  public interface IInterface {} public class  KnownImplementor01: IInterface {} public class KnownImplementor02: IInterface {} public class KnownImplementor03: IInterface {} public class ToSerialize {[XmlIgnore] public IInterface InterfaceProperty {get;  задавать;  } [XmlArray («интерфейс»)] [XmlArrayItem («ofTypeKnownImplementor01», typeof (KnownImplementor01)] [XmlArrayItem («ofTypeKnownImplementor02», typeof (KnownImplementor02)] [XmlArrayItem («ofTypeKnownImplementor03», typeof (KnownImplementor03)] public object [] InterfacePropertySerialization  {get {return new [] {InterfaceProperty}} set {InterfaceProperty = (IInterface) value.Single ();}}}  

Получившийся xml должен выглядеть примерно так:

  & lt; interface & gt; & lt; ofTypeKnownImplementor01 & gt; & lt;! - etc ... - & gt;  
24
задан q0987 21 August 2010 в 18:11
поделиться

2 ответа

PCRE не поддерживает синтаксис \uXXXX. Вместо этого используйте \x{XXXX}. См. здесь .

Ваш диапазон \u2e80-\u9fff также эквивалентен

\p{InCJK_Radicals_Supplement}\p{InKangxi_Radicals}\p{InIdeographic_Description_Characters}\p{InCJK_Symbols_and_Punctuation}\p{InHiragana}\p{InKatakana}\p{InBopomofo}\p{InHangul_Compatibility_Jamo}\p{InKanbun}\p{InBopomofo_Extended}\p{InKatakana_Phonetic_Extensions}\p{InEnclosed_CJK_Letters_and_Months}\p{InCJK_Compatibility}\p{InCJK_Unified_Ideographs_Extension_A}\p{InYijing_Hexagram_Symbols}\p{InCJK_Unified_Ideographs}

Не забудьте добавить u (/regex here/u), если вы имеете дело с UTF-8. Если вы имеете дело с другой многобайтовой кодировкой, вы должны сначала преобразовать в UTF-8.

37
ответ дан Artefacto 16 August 2018 в 10:02
поделиться
0
ответ дан Stephen Rauch 29 October 2018 в 11:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: