テキストブロック内の通常の引用符を中向きの引用符に置き換えるが、htmlタグマーカー内にある引用符を変更しない方法に関する最善の解決策を探しています<....>次のようなpreg-replaceを使用しようとしました。
$pattern = '/(?<!=)"\b/';
$lyrics = preg_replace($pattern, "\u201c", $lyrics);
$pattern = '/\b"(?!>)/';
$lyrics = preg_replace($pattern, "\u201d", $lyrics);
$pattern = '/\."/'; // find regular quotes after a period
$lyrics = preg_replace($pattern, ".\u201d", $lyrics);
$pattern = '/\!"/'; // find regular quotes after an exclamation
$lyrics = preg_replace($pattern, "!\u201d", $lyrics);
$pattern = '/"\s/'; // find regular quotes before a space
$lyrics = preg_replace($pattern, "\u201d ", $lyrics);
たとえば、次のような場合です。
<a href="http://somelink.com">"This is a quotation."
私はそれを次のように終わらせたい:
<a href="http://somelink.com">“This is a quotation.”