4

xpdf pdf2textを使用してPDFをテキストに変換していますが、段落記号(¶)を数字の8に変換することを除いて、うまく機能します。次のパターンですべてに到達する方法を見つける必要があります。

preg_match_all('/\b8\d{1,2}-/', 'text');

ただし、そのパターンの「8」のみを置き換えてください。一致を配列に保存しようとしましたが、それらが属するテキストに再挿入するにはどうすればよいですか?

理想的には、段落タグは適切に変換されますが、私はいくつかの異なるエンコーディングを試しましたが、成功しませんでした。一部のPDFにはフォントが埋め込まれていると思います。

そのパターンの「8」だけを置き換える方法について何かアイデアはありますか?参照されている記事のページまたは章が8である可能性があるため、8をすべて置き換えることはできません。しかし、段落が80程度になる危険はありません(そのため、8の後に数字をチェックします)。

ありがとう。

4

1 に答える 1

5

グループ内のパターンの残りをキャプチャし、元の位置に戻します。

$str = preg_replace('/\b8(\d{1,2}-)/', 'replacement$1', $str);
于 2012-10-19T20:52:05.013 に答える