2012-04-16 3 views
1

テキストブロック内の通常の引用符をかっこで置き換える方法を探していますが、htmlタグマーカー内の引用符を変更することはできません< ... 。PHP:文字列の二重引用符をHTMLタグ内の文字列で置き換えないでください

<a href="http://somelink.com">“This is a quotation.” 
:私はそれのように終わるしたい

<a href="http://somelink.com">"This is a quotation." 

:私が持っている場合は、以下の、例えば

$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); 

:>私が使用しようとしたなどとして、プリプレグを、交換してください

答えて

0

正しく構成されていれば、xmlパーサーを使用することもできます。しかし、すべてのタグを最初に開いたり閉じたりする必要があります(または、このようにいくつか:< /br>)。その後、通常のxmlとしてparse the xhtml with phpとすることができます。

編集:可能な複製Highlight text, except html tags

関連する問題