2017-01-18 5 views
1

私は多くの段落を持つ長いテキストを持っています。テキストが引用符で囲まれているすべてのインスタンスを検索する必要があるので、 "..."を置き換え、& ldquo;と置き換えてください。... & rdquo ;.二重引用符で囲まれたテキストを検索し、HTMLエンティティに変換

私はまた、見積もりに見積もりがない場合、それを明らかに変換しないかどうかを検出したいと思います。

これは私が今を考え出すことができる最善の方法です。

$text = preg_replace('/(?<=\s)"(.+?)"(?=\s)/', '&ldquo;\1&rdquo;', $text); 

しかし、それはすべてのケースをカバーするかどうかわかりません。他の提案は高く評価されます。

答えて

1

二重引用符が開始引用符または引用引用符である場合は、オープニング引用符の前に単語文字がないか、「通常」のテキストの終了引用符の後にあると思われる場合は、

あなたはそれをしようとすることができます:

$text = preg_replace('/\B"([^"]*)"\B/u', '&ldquo;$1&rdquo;', $text); 
if (strrpos($text, '"') !== false) 
    $text = rtrim(str_replace('"', '&ldquo;', $text)) . '&rdquo;'; 
+0

おかげで、正規表現は完全に働いていること。 – devbanana

関連する問題