Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中将require语句的输出转换为字符串_Php_Require - Fatal编程技术网

如何在php中将require语句的输出转换为字符串

如何在php中将require语句的输出转换为字符串,php,require,Php,Require,我和一个大团队一起工作,我在制作返回html代码的函数,我在回显这些函数的结果以获得最终页面。问题是,我需要团队其他成员开发的一些代码片段,我需要它是一个字符串,但是代码可以作为php文件使用,我应该在我的页面中包含或需要它 因为我不是在写一封信;ml页面,但作为生成该代码的函数,我需要将require语句的结果html转换为字符串,将其连接到函数生成的代码 有没有办法计算require并将其结果连接到my String 我尝试了函数eval(),但不起作用,并且读了一些关于获取内容()的内容,

我和一个大团队一起工作,我在制作返回html代码的函数,我在回显这些函数的结果以获得最终页面。问题是,我需要团队其他成员开发的一些代码片段,我需要它是一个字符串,但是代码可以作为php文件使用,我应该在我的页面中包含或需要它

因为我不是在写一封信;ml页面,但作为生成该代码的函数,我需要将require语句的结果html转换为字符串,将其连接到函数生成的代码

有没有办法计算require并将其结果连接到my String

我尝试了函数eval(),但不起作用,并且读了一些关于获取内容()的内容,但它也不起作用。我不知道我是否需要导入一些东西,我想这与wordpress有关,我使用的是原始php


谢谢你的帮助!!!=)

您可以使用include或require接收字符串,但必须在include之前更新这些文件才能添加return语句

要包含的文件应返回如下结果

<?php

$var = 'PHP';

return $var;

?>

试试ob_…()函数系列。例如:

<?php

    function f(){
        echo 'foo';
    }
    //start buffering output. now output will be sent to an internal buffer instead of to the browser.    
    ob_start();

    //call a function that echos some stuff
    f();

    //save the current buffer contents to a variable
    $foo = ob_get_clean();

    echo 'bar';
    echo $foo;

    //result: barfoo

?>
或者,如果要将函数调用的回显结果放入变量中,可以执行以下操作:

//untested
function get_include($file){
    ob_start();
    include($file);
    return ob_get_clean();
}
//untested
//signature: get_from_function(callback $function, [mixed $param1, [mixed $param2, ... ]])
function get_from_function($function){
    $args = func_get_args();
    shift($args);
    ob_start();
    call_user_func_array($function,$args);
    return ob_get_clean();
}

取决于其他文件的工作方式

  • 如果可以更改其他文件以返回值,则应使用:

    $content = require 'otherfile';
    
  • 如果其他文件只是使用
    echo
    或其他方式直接打印,请使用:

    ob_start();
    require 'otherfile';
    $content = ob_get_clean();
    

  • 很难回答,因为没有提供代码,但是include文件是否包含变量?还是一个$return“type”变量?您应该显示一些代码。至少我真的不明白,你在做什么,你想要什么。
    不是一个解决方案吗?包含的文件是一个完整的php脚本,其中混合了html和php语句,但应该生成一个表单。我没有发布代码,因为它有点大,而且,我认为,它是不相关的。我需要做的是像
    $html.=transformation_函数(require(“path/to/my/included/file”),我要的是转换函数…我不知道ob_get_clean()。。。很好(我正在调用ob\u get\u contents,然后调用ob\u end\u clean()。希望你不介意,但我把它添加到了我的答案中。投票吧!
    
    ob_start();
    require 'otherfile';
    $content = ob_get_clean();