繁体   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