Sample code for 30+ languages & platforms
PHP Extension

Implement Preprocessor #include with StringBuilder

Demonstrates how to implement #include with a Chilkat StringBuilder.

Chilkat PHP Extension Downloads

PHP Extension
<?php

include("chilkat.php");

// First build a string that has a preprocessor include
$sbSrc = new CkStringBuilder();
$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');

print $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!"

$filePath = $sbSrc->getAfterBetween('#include','<','>');
if ($sbSrc->get_LastMethodSuccess() != true) {
    print 'No #include's found.' . "\n";
    exit;
}

print 'filePath: ' . $filePath . "\n";

// Load the contents of the filePath
$sbIncludeFile = new CkStringBuilder();
$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);

print $sbSrc->getAsString() . "\n";

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

?>