Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 他资源有限,我宁愿摆弄一行正则表达式,也不愿从头开始。。。正如我在问题中已经说过的那样@杰德斯密斯:同意。这就是为什么解析器已经在未来的路线图上。。。。感谢您的实际阅读,并考虑到我已经想到的真正的解析器拥抱部分:)+1很棒,比通常的“编写您自己的解析器”更_Php_Regex_Latex_Lookahead_Lookbehind - Fatal编程技术网

Php 他资源有限,我宁愿摆弄一行正则表达式,也不愿从头开始。。。正如我在问题中已经说过的那样@杰德斯密斯:同意。这就是为什么解析器已经在未来的路线图上。。。。感谢您的实际阅读,并考虑到我已经想到的真正的解析器拥抱部分:)+1很棒,比通常的“编写您自己的解析器”更

Php 他资源有限,我宁愿摆弄一行正则表达式,也不愿从头开始。。。正如我在问题中已经说过的那样@杰德斯密斯:同意。这就是为什么解析器已经在未来的路线图上。。。。感谢您的实际阅读,并考虑到我已经想到的真正的解析器拥抱部分:)+1很棒,比通常的“编写您自己的解析器”更,php,regex,latex,lookahead,lookbehind,Php,Regex,Latex,Lookahead,Lookbehind,他资源有限,我宁愿摆弄一行正则表达式,也不愿从头开始。。。正如我在问题中已经说过的那样@杰德斯密斯:同意。这就是为什么解析器已经在未来的路线图上。。。。感谢您的实际阅读,并考虑到我已经想到的真正的解析器拥抱部分:)+1很棒,比通常的“编写您自己的解析器”更有用:)我只看到一个问题,如果输入以代码标记开始,这也会起作用吗?你应该检查一下。顺便说一句,当数组内爆时,这个解决方案不会放回代码标签。为此,您可以重用“for”循环。谢谢像这样拆分字符串似乎非常合适@dutchflyboy&@exhuma,


他资源有限,我宁愿摆弄一行正则表达式,也不愿从头开始。。。正如我在问题中已经说过的那样@杰德斯密斯:同意。这就是为什么解析器已经在未来的路线图上。。。。感谢您的实际阅读,并考虑到我已经想到的真正的解析器拥抱部分:)+1很棒,比通常的“编写您自己的解析器”更有用:)我只看到一个问题,如果输入以代码标记开始,这也会起作用吗?你应该检查一下。顺便说一句,当数组内爆时,这个解决方案不会放回代码标签。为此,您可以重用“for”循环。谢谢像这样拆分字符串似乎非常合适@dutchflyboy&@exhuma,它应该也适用于带有
标记的字符串开始,例如,使用(,)拆分
a,b
,将得到[“a”、“,”和“b”],
,b
将是[”,“,”和“b”],拆分器“,”将始终位于1,3,5,7。。。数组索引中的位置。所以循环0,2,4,6。。更新文本应该是安全的。不回答问题。。。我现在添加了一个快速的段落,解释为什么我一开始没有使用解析器。非常有趣。明天我会更仔细地看一看。我用pandoc取得了比任何其他转换器或其他转换器都好的效果。它安装在win、mac或linux上。你的latex代码越“普通”,它就越有效。例如,我喜欢在可能的情况下大量使用latex软件包wrapfig,但pandoc对它的使用不是很好。但对于你的所见即所得编辑器来说,它应该运行良好。不要忘记pandoc的html到标记转换器(如果需要,您可以将标记转换为latex)。
The Hello \ World document is located in:
<code>C:\documents\hello_world.txt</code>
The Hello $\backslash$ World document is located in:
\begin{verbatim}C:\documents\hello_world.txt\end{verbatim}
<?php
$patterns = array(
    "special_chars2" => array( '/(?<!<code[^>]*>.*)\\\\[^$](?!.*<\/code>)/U', '$\\backslash$'),
);

foreach( $patterns as $name => $p ){
    $tex_input = preg_replace( $p[0], $p[1], $tex_input );
}
?>
<?php
$patterns = array(
    "special_chars2" => array( '/\\\\[^$](?!.*<\/code>)/U', '$\\backslash$'),
);

foreach( $patterns as $name => $p ){
    $tex_input = preg_replace( $p[0], $p[1], $tex_input );
}
?>
((?:^|</code>)(?:(?!<code>).)+?)\\
    |            |              |
    |            |              \-- backslash
    |            \-- least amount of anything not followed by <code>
    \-- start-of-string or </code>
$1$\backslash$
$x="The Hello \ World document is located in:\n<br>
<code>C:\documents\hello_world.txt</code>";

$r=preg_split("/(<code>.*?<\/code>)/", $x,-1,PREG_SPLIT_DELIM_CAPTURE);

for($i=0;$i<count($r);$i+=2)
    $r[$i]=str_replace("\\","$\\backslash$",$r[$i]);

$x=implode($r);

echo $x;
The Hello $\backslash$ World document is located in: 
C:\documents\hello_world.txt
The Hello \textbackslash{} World document is located in:
\verb!C:\documents\hello_world.txt!