Rumah >pembangunan bahagian belakang >tutorial php >关于php中str_replace的问题

关于php中str_replace的问题

WBOY
WBOYasal
2016-06-23 13:30:54873semak imbas

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();}

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

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn