タグに属さない 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
すると、すべてのタグも同様に変換<>
さ<>
れますが、これは良くありません。
誰にもアイデアはありますか?