寻找最佳解决方案,以便如何用带引号的引号代替文本块中的普通引号,但不能更改在html标记标记中找到的引号< ... >我已经尝试使用预浸替换,如:PHP:在字符串中替换双引号,但不是HTML标签中的双引号
$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.”