私はこの preg_replace を php に持っています。これは、「エクスプロイト」で始まるすべての単語をリンクにほぼ正しく置き換えます。
preg_replace('#[\b]?(exploit([^ ]*))[\b]?#', '<a>$1</a>', 'My exploits are exploitable.');
私はこれを得る:
My <a>exploits</a> are <a>exploitable.</a>
これは半分間違っています。ピリオドは 2 番目の単語にリンクされるべきではありません。上記の [^ ] を [^\b] のようなものに置き換える必要があることはわかっていますが、うまくいきません。
私はいつでも ie [^ .] を実行できることを知っていますが、たとえばコンマではなく、スペースとピリオドで終わる単語に対してのみ機能します。