在带有分隔符的文本中,我需要为用 LaTeX 编写的文档创建几个段落。此代码的目的是将引号内的任何内容替换为\textquote{the text}
假设有以下文本:
$str="Irán pueblos numerosos diciendo: «Vamos a subir al monte del Señor, al templo del Dios de Jacob».|Él nos enseñará sus caminos y caminaremos por sus sendas.|Viene el Mesías, el Cristo; cuando venga, nos hará saber todas las cosas.";
我需要创建以下内容:
\fourargs
{Irán pueblos numerosos diciendo: \textquote{Vamos a subir al monte del Señor, al templo del Dios de Jacob}.}
{%
Él nos enseñará sus caminos y caminaremos por sus sendas.%
}{%
Viene el Mesías, el Cristo; cuando venga, nos hará saber todas las cosas.%
}{%
Él nos enseñará sus caminos y caminaremos por sus sendas.%
}
我可以使用以下代码毫无问题地实现这一点:
$str="Irán pueblos numerosos diciendo: «Vamos a subir al monte del Señor, al templo del Dios de Jacob».|Él nos enseñará sus caminos y caminaremos por sus sendas.|Viene el Mesías, el Cristo; cuando venga, nos hará saber todas las cosas.";
$html="";
$break=PHP_EOL."\t";
$quotes=["/'(.*?)'/",'/"(.*?)"/',"/«(.*?)»/","/“(.*?)”/"];
$textquote="\\textquote{\$1}";
$fourArgs="
\\fourargs
{%s}
{%%
%s%%
}{%%
%s%%
}{%%
%s%%
}";
$tmp=explode('|',preg_replace($quotes,$textquote,$str));
$html.=sprintf($fourArgs,
$tmp[0],
$tmp[1],
$tmp[2],
$tmp[1]
);
echo $html;
我的问题出现在执行 时,将开引号和闭引号放在不同的组中explode
。在这种情况下,替换为textquote{...}
无法按预期工作。
假设有以下代码:
的内容$str
如下:
$str="Irán pueblos numerosos diciendo: «Vamos a subir al monte del Señor, al templo del Dios de Jacob.|Él nos enseñará sus caminos y caminaremos por sus sendas».|Viene el Mesías, el Cristo; cuando venga, nos hará saber todas las cosas.";
最终结果如下:
\fourargs
{Irán pueblos numerosos diciendo: \textquote{Vamos a subir al monte del Señor, al templo del Dios de Jacob.}
{%
Él nos enseñará sus caminos y caminaremos por sus sendas}.%
}{%
Viene el Mesías, el Cristo; cuando venga, nos hará saber todas las cosas.%
}{%
Él nos enseñará sus caminos y caminaremos por sus sendas}.%
}
但预期的结果是:
\fourargs
{Irán pueblos numerosos diciendo: \textquote{Vamos a subir al monte del Señor, al templo del Dios de Jacob}.}
{%
\textquote{Él nos enseñará sus caminos y caminaremos por sus sendas}.%
}{%
Viene el Mesías, el Cristo; cuando venga, nos hará saber todas las cosas.%
}{%
\textquote{Él nos enseñará sus caminos y caminaremos por sus sendas}.%
}
我怎样才能在所有情况下都达到预期的结果?
在替换之前对字符串进行预处理,如下所示:
关于格式化的字符串,您也可以这样写:
根据您提供的示例,我有一个简单的解决方案。我假设
|
符号前面是.
这里。您可以在匹配的文本中替换以插入附加
.|
块。}.|\textquote{
\textquote