What are the potential pitfalls of using Ascii code ranges to generate text in PHP?

Using Ascii code ranges to generate text in PHP can lead to unpredictable results, as not all Ascii characters are printable or represent valid text characters. To ensure that only valid text characters are generated, it is recommended to use a whitelist approach by specifying the allowed Ascii code ranges for printable characters.

// Define allowed Ascii code ranges for printable characters
$allowed_ranges = [
    [32, 126], // Printable characters range
    [160, 255] // Extended Ascii characters range
];

// Function to generate random text using allowed Ascii code ranges
function generateRandomText($length) {
    global $allowed_ranges;
    $text = '';
    foreach (range(0, $length) as $i) {
        $range = $allowed_ranges[array_rand($allowed_ranges)];
        $text .= chr(mt_rand($range[0], $range[1]));
    }
    return $text;
}

// Generate random text
$random_text = generateRandomText(10);
echo $random_text;