因为那个问题我浪费了很多时间,我真的辞职了..
当我将 preg_replace 与 create_function 一起使用时,所有结果都在输出开始时进行,但它们应该位于创建匹配的位置,就像:
COMPONENT1 COMPONENT2 Maecenas malesuada elit lectus felis,malesuada ultricies。Curabitur et ligula。Ut molestie a, ultricies porta urna。Vestibulum commodo volutpat a, convallis ac, laoreet enim。豆芽在,dolor。Pellentesque facilisis。Nulla imperdiet 坐在 amet magna 上。Vestibulum dapibus, mauris nec malesuada 成名 ac turpis velit, rhoncus eu, luctus et interdum adipiscing wisi。
并且应该是:
Maecenas malesuada elit lectus felis,malesuada ultricies。Curabitur et ligula。Ut molestie a, ultricies porta urna。Vestibulum commodo volutpat a, convallis ac, laoreet enim。发酵豆COMPONENT1中,dolor。Pellentesque facilisis。Nulla imperdiet 坐在 amet magna COMPONENT2。Vestibulum dapibus, mauris nec malesuada 成名 ac turpis velit, rhoncus eu, luctus et interdum adipiscing wisi。
function getcomponent($source){
$get = getXML(datadir.$source.'.xml')->content;
$getcomp = create_function("",' ?>'.$get.'<?php ');
$getcomp();
}
preg_match_all("/\[\#PHP (.*?) \#\]/",$content,$content3);
foreach ($content3[1] as $value) { //$content3[0]
$content2 = preg_replace("/\[\#PHP ".$value." \#\]/",getcomponent($value),$content);
$content = $content2;
}
我将非常感谢每一个提示。干杯!