Sample code for 30+ languages & platforms
PHP

Implement Preprocessor #include with StringBuilder

Demonstrates how to implement #include with a Chilkat StringBuilder.

Chilkat PHP Downloads

Chilkat2 PHP
<?php

use Chilkat2\StringBuilder;

// First build a string that has a preprocessor include
$sbSrc = new StringBuilder();
$sbSrc->Append("1\r\n2\r\n3\r\n");
$sbSrc->Append("#include <qa_data/txt/helloWorld.txt>\r\n");
$sbSrc->Append("4\r\n5\r\n");

echo $sbSrc->GetAsString(), "\n";

// sbSrc contains:
//     1
//     2
//     3
//     #include <qa_data/txt/helloWorld.txt>
//     4
//     5

// The qa_data/txt/helloWorld.txt file contains "Hello World!"

try {
    $filePath = $sbSrc->GetAfterBetween('#include', '<', '>');
} catch (\Chilkat2\Exception $e) {
    echo "No #include's found.\n";
    exit;
}

echo 'filePath: ', $filePath, "\n";

// Load the contents of the filePath
$sbIncludeFile = new StringBuilder();
$sbIncludeFile->LoadFile($filePath, 'utf-8');

// Replace the first occurrence of #include <...> line with the contents of the include file.
$sbSrc->ReplaceAllBetween('#include', '>', $sbIncludeFile->GetAsString(), true);

echo $sbSrc->GetAsString(), "\n";

// sbSrce now contains:
//     1
//     2
//     3
//     Hello World!
//     4
//     5