Я пишу скрипт xml в текстовый файл с помощью синтаксического анализатора PHP xml. Я разделяю атрибуты знаками @, а данные - | Когда я открываю текстовый файл, я заметил, что символы рассматриваются как их собственные данные.
i.e. <equation valid="yes">For this theorem assume X < Y and Z & A = 0</equation>
should have output @yes@ |For this theorem assume X < Y and Z & A = 0|
but instead I have @yes@ |For this theorem assume X| |<| |Y| and Z | |&| | A = 0|
так что я считаю, что любые символы, которые опираются на & [a-z] +; или & [0-9] +; обрабатывается как разные данные между двумя тегами. Я попробовал preg_replace("/&([a-z]+);/","\1",$data)
и то же самое для чисел, чтобы просто иметь буквы / цифры для последующего форматирования, но, похоже, это ничего не дало. Как я могу заставить парсер xml распознавать эти символы как часть данных?
Edit1: я только что также попытался заменить все & на \ &, но это тоже ничего не дало, я просто получил обратную косую черту перед моим разделителем данных.