タグに属さない HTML/XML 形式の文字列内のシンボルを確実<に見つけて置換する方法を見つけようとしています。>
基本的に、私は HTML 文字列から始めて、それを PDFLib で使用可能なものに変換します。PDFLib は、XML の形式を使用して、PDF として書かれるドキュメントを記述します。ただし<、コンテンツ内に がある場合、タグの開始と見なされ、解析例外がスローされます。
入力例:
<p>This is a test where 6 < 9</p>
<p>This is part of <strong>The same test</strong></p>
<p>This should also work 6<99999</p>
を囲むテキスト<は必ずしも数字ではなく、ユーザーが入力したものでありGrade<C、 、Blue<Red<Green、Test < Test2.... など、実際には何でもかまいません。
必要な出力
This is a test where 6 <charref fontname=Helvetica encoding=unicode><<resetfont> 9\n
This is part of <fontname=Helvetica fontstyle=bold encoding=unicode>The same test<resetfont>\n
This should also work 6<charref fontname=Helvetica encoding=unicode><<resetfont>99999\n
str_replaceとを試しましたが、確実にタグをそのままにして、コンテキスト内preg_replaceの だけを置き換えるソリューションが見つかりません。<
は開始タグとしてもDOMDocument認識されるため、DOM の解析も失敗するようです。<
文字列で使用htmlspecialcharsすると、すべてのタグも同様に変換<>さ<>れますが、これは良くありません。
誰にもアイデアはありますか?