[更新しました]
これが私の仕事です–カスタムビルドされたLaTeXファイルの束をInDesignに変換します。したがって、現在の方法は次のとおりです。カスタムLaTeXコードをより一般的なTeXコードに変更するPHPスクリプトを介して.texファイルを実行し、TeX2Wordを使用してそれらを.docファイルに変換し、それらをInDesignに配置します。
これでやりたいpreg_replace
のは、いくつかのTeXタグを変換して、TeX2Wordに触れないようにすることです。そうすれば、HTMLのようなタグをInDesignテキストフレームに変更するスクリプトをInDesignで実行できるようになります。 、脚注、変数など。
[/更新しました]
LaTeXマークアップを含むテキストがあります。
$newphrase = "\blockquote{\hspace*{.5em}Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Integer posuere erat a ante venenatis dapibus posuere
velit aliquet. Aenean lacinia bibendum nulla sed consectetur. Aenean
eu leo quam. Pellentesque ornare sem lacinia quam venenatis
vestibulum. Sed posuere consectetur est at lobortis. \note{Integer
posuere erat a ante venenatis dapibus posuere velit aliquet.
\textit{Vivamus} sagittis lacus vel augue laoreet rutrum faucibus
dolor auctor.}}";
私がやりたいのは、それを削除\blockquote{...}
して置き換えることです<div>...</div>
だから私はこれの無数の異なるバージョンを試しました:
$regex = "#(blockquote){(.*)(})#";
$replace = "<div>$2</div>";
$newphrase = preg_replace($regex,$replace,$newphrase);
これが出力です
\<div>\hspace*{.5em</div>Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Integer posuere erat a ante venenatis dapibus posuere
velit aliquet. Aenean lacinia bibendum nulla sed consectetur. Aenean
eu leo quam. Pellentesque ornare sem lacinia quam venenatis
vestibulum. Sed posuere consectetur est at lobortis. \note{Integer
posuere erat a ante venenatis dapibus posuere velit aliquet.
\textit{Vivamus} sagittis lacus vel augue laoreet rutrum faucibus
dolor auctor.}}";
それに関する最初の問題は、それが\blockquote{
最初のものまですべてを置き換えること}
です。最初の後に}
別のものがあった場合、次を無視したいとき。{
\blockquote{
私が抱えている次の問題は、\
私がそれを逃れることができないように見えることです!私は、、、、、、を試し\\
まし/\\/
た。何も機能しません!それが実際にどのように機能するのか理解していないからだと確信しています。\\\
/\\\/
[\]
[\\]
だから最後に、これは私が最終的にしたいものです:
<div>\hspace*{.5em}Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Integer posuere erat a ante venenatis dapibus posuere
velit aliquet. Aenean lacinia bibendum nulla sed consectetur. Aenean
eu leo quam. Pellentesque ornare sem lacinia quam venenatis
vestibulum. Sed posuere consectetur est at lobortis. \note{Integer
posuere erat a ante venenatis dapibus posuere velit aliquet.
\textit{Vivamus} sagittis lacus vel augue laoreet rutrum faucibus
dolor auctor.}</div>";
$regex
&を配列にする予定なので、このようなものを次$replace
のように置き換えることができます\textit{Vivamus}
<em>Vivamus</em>
どんなガイダンスも大歓迎です!