是否可以用包含文件的内容替换部分字符串?

时间:2018-03-19 16:52:05

标签: php

是否可以用包含文件的内容替换字符串的部分?

例如,这是我的字符串

$string = '<p>The article title goes here bla bla bla...</p>{{ADD_AUTHOR_DETAILS_}}<p>The article body goes here...</p>';

基本上,我想将{{ADD_AUTHOR_DETAILS_}}替换为include文件的内容。包含文件包含html标签,文本等......

这可能在php中,如果可以,怎么样?

修改

有些人在询问包含文件(php文件)中的内容。这是一个样本

<div class="article-author"><?php
    if ( !empty($artistphoto) ) { ?>
        <img class="round" src="<?php echo $config['path']['artist_image'] . $artistphoto; ?>" width="" height="" alt="<?php echo $artistname; ?>"><?php
    } else { ?>
        <div class="placeholder round"><span></span></div><?php
    } ?><span><a href="<?php echo $config['reference']['library_author'] . $artisthref; ?>"><?php echo $artistname; ?></a></span>
</div>

3 个答案:

答案 0 :(得分:2)

您可以使用file_get_contents加载文件内容,然后使用str_replace替换字符串中的部分内容。

$myString = 'This is a lovely string... But [REPLACE_THIS]';
$fileContents = file_get_contents('my_replacement.txt');
$myString = str_replace('[REPLACE_THIS]', $fileContents, $myString);

答案 1 :(得分:2)

您可以使用输出缓冲功能。请参阅ob_start()ob_get_clean()

<?php
ob_start();
include('path/to/your/file.php');
$content = ob_get_clean();

$string = '<p>The article title goes here bla bla bla...</p>{{ADD_AUTHOR_DETAILS_}}<p>The article body goes here...</p>';

echo str_replace('{{ADD_AUTHOR_DETAILS_}}', $content, $string);

OP说“包括”不是file_get_contents,但也许其他答案可能就是你要找的。

答案 2 :(得分:1)

您可以使用strtr替换多个子字符串。

:empty