Heim > Backend-Entwicklung > PHP-Tutorial > 关于php中str_replace的问题

关于php中str_replace的问题

WBOY
Freigeben: 2016-06-23 13:30:54
Original
882 Leute haben es durchsucht

public function display(){
        ob_start();
        if(preg_match_all('/(?)/s',$this->content,$match)){
            $find = $match[1];
            $_replace = array();
            foreach($match[2] as $_match){
                eval($_match);
                $_replace[] = ob_get_contents();
                ob_clean();
            }
            ob_flush();
            str_replace($find,$_replace,$this->content,$i);
        }
        header('Content-type:text/html;charset=UTF-8');
        var_dump($this->content);
        var_dump($match[1]);
        var_dump($i);
        ob_end_flush();
    }

我写了一段解析模板的代码,如上;现在执行之后出现了像下面图片上显示的结果, ,看图上显示应该是已经匹配到了字符串,但是为什么之后显示的结果却不是replace数组中的值呢


回复讨论(解决方案)

如果你希望我们帮你调试,那么请给出测试数据

你的这段代码只需这样就可以了

public function display() {  ob_start();  eval('?>' . $this->content);  $this->content = ob_get_clean();}
Nach dem Login kopieren

谢谢,我照着改了之后直接就显示了,原理还没怎么明白,我再研究研究

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage