簡體   English   中英

正則表達式更改引號沖突

[英]Regex to change quotation mark conflict

我正在嘗試創建一個 PHP 正則表達式來過濾我在 WordPress 上的內容。我想將引號" "轉換為帶有不間斷空格的« »

我還使用木材 (TWIG) 過濾器來實現這一點。

問題是這個過濾器也改變url tagsimage tags

例子:

<a href="http://www.example.com">My link</a>

<a href=« http://www.example.com »>My link</a>

我可以在我的正則表達式中添加什么來避免這種情況? 我能幫忙嗎?

函數.php

public function add_to_twig( $twig ) {
        $twig->addExtension( new Twig_Extension_StringLoader() );
        $twig->addFilter( new Timber\Twig_Filter( 'changemarks', 'changemarks' ) );
        return $twig;
    }

function changemarks( $text ) {
    $regex = '/"(.*?)"/';
    $subst = '«&#8239;$1&#8239;»';
    $result = preg_replace($regex, $subst, $text);

    return $result;
}

單身.twig

{{ post.content|changemarks }}

很難在 html 中制作正則表達式我的解決方案只是 select 字符串,在"之前和之后為文本留出一些空間

    $regex = '/ "(.+?)" /';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM