Итак, у меня есть некоторые идеи о том, как это сделать, и вынесли на борт некоторые из предложений кода; У меня есть файлы LaTeX с компонентами в форме {upper}{lower}
, где upper
может быть чем угодно, от простого текста до LaTeX, включая его собственные вложенные {} и lower
, может быть пустым или существенным латексом. Желаемый вывод представляет собой пару строк PHP $upper
и $lower
, которые содержат только содержимое двух родительских фигурных скобок.Извлечь код из вложенных фигурных фигурных скобок, включая несколько внутренних фигурных скобок в PHP
$upperlowerQ='some string'; // in format {upper}{lower}
$qparts=nestor($upperlowerQ);
$upper=$qparts[0];
$lower=$qparts[1];
function nestor($subject) {
$result = false;
preg_match_all('~[^{}]+|\{(?<nested>(?R)*)\}~', $subject, $matches);
foreach($matches['nested'] as $match) {
if ($match != "") {
$result[] = $match;
$nesty = nestor($match);
if ($nesty)
$result = array_merge($result,$nesty);
}
}
return $result;
}
Эта функция работает около 95% моих данных (это верхний/нижний расщепление вызывается в цикле в течение примерно 1000 раз), но это не удается на несколько. Пример того, что он не на выглядит следующим образом:
{Draw an example of a reciprocal graph in the form $y=\frac{a}{x}$}{
\begin{tikzpicture}
\begin{axis}[xmin=-8,xmax=8,ymin=-5,ymax=12,samples=50,grid=both,grid style={gray!30},xtick={-8,...,8},ytick={-5,...,12},axis x line = bottom,
axis y line = left, axis lines=middle]
\end{axis}
\end{tikzpicture}\par
%ans: smooth reciprocal function plotted.
}
, который дает: $upper
Draw an example of a reciprocal graph in the form $y=\frac{a}{x}$
, как (это правильно), но $lower
в a
, что числитель дроби в верхней части ... любой идеи оценили. Это всегда $lower
, что неправильно ... $upper
кажется правильным.
Что должно быть ниже? –
'$ lower' должно быть' \ begin {tikzpicture} \ begin {axis} [xmin = -8, xmax = 8, ymin = -5, ymax = 12, samples = 50, grid = both, grid style = { серый! 30}, xtick = {- 8, ..., 8}, ytick = {- 5, ..., 12}, ось x строка = нижняя, ось y линия = левая, оси линии = средняя] \ end {axis} \ end {tikzpicture} \ par % ans: плавная взаимная функция на графике. ' – tornadof3
Можете ли вы предоставить лучший ввод и что именно вы хотите совместить/извлечь. Независимая функция 'nesty',' nestor', которая включена в образец, и [производит этот вывод] (https://eval.in/417089). –