示例#1
0
 * 3. subpatterns in parentheses
 */
echo "*** Testing mb_ereg() : usage variations ***\n";
if (mb_regex_encoding('utf-8') == true) {
    echo "Regex encoding set to utf-8\n";
} else {
    echo "Could not set regex encoding to utf-8\n";
}
$string_ascii = 'This is an English string. 0123456789.';
$regex_ascii = '([A-Z]\\w{1,4}is( [aeiou]|h)) ?.*\\.\\s[0-9]+(5([6-9][79]){2})[[:punct:]]$';
var_dump(mb_ereg($regex_ascii, $string_ascii, $regs_ascii));
base64_encode_var_dump($regs_ascii);
$string_mb = base64_decode('zpHPhc+Ez4wgzrXOr869zrHOuSDOtc67zrvOt869zrnOus+MIM66zrXOr868zrXOvc6/LiAwMTIzNDU2Nzg5Lg==');
$regex_mb = base64_decode("W86RLc6pXShcdysgKSvOtVvOsS3PiVxzXSvOui4qKM+MfM6/KS4qXC5cc1swLTldKyg1KFs2LTldWzc5XSl7Mn0pW1s6cHVuY3Q6XV0k");
var_dump(mb_ereg($regex_mb, $string_mb, $regs_mb));
base64_encode_var_dump($regs_mb);
/**
 * replicate a var dump of an array but outputted string values are base64 encoded
 *
 * @param array $regs
 */
function base64_encode_var_dump($regs)
{
    if ($regs) {
        echo "array(" . count($regs) . ") {\n";
        foreach ($regs as $key => $value) {
            echo "  [{$key}]=>\n  ";
            if (is_string($value)) {
                var_dump(base64_encode($value));
            } else {
                var_dump($value);
示例#2
0
 */
echo "*** Testing mb_ereg() : variation ***\n";
mb_regex_encoding('utf-8');
// have to set otherwise won't match $mb properly
$mb = base64_decode('5pel5pys6Kqe');
$character_classes = array('aB1' => '[[:alnum:]]+', 'aBcD' => '[[:alpha:]]+', 'ab/=' => '[[:ascii:]]+', " \t" => '[[:blank:]]+', '234' => '[[:digit:]]+', "{$mb}" => '[[:graph:]]+', 'fjds' => '[[:lower:]]+', "{$mb}\t" => '[[:print:]]+', '.!"*@' => '[[:punct:]]+', "\t" => '[[:space:]]+', 'IDSJV' => '[[:upper:]]+', '3b5D' => '[[:xdigit:]]+');
/*12*/
$iterator = 1;
foreach ($character_classes as $string => $pattern) {
    if (is_array(@$regs)) {
        $regs = null;
    }
    // make sure any multibyte output is in base 64
    echo "\n-- Iteration {$iterator} --\n";
    var_dump(mb_ereg($pattern, $string, $regs));
    base64_encode_var_dump($regs);
    $iterator++;
}
/**
 * replicate a var dump of an array but outputted string values are base64 encoded
 *
 * @param array $regs
 */
function base64_encode_var_dump($regs)
{
    if ($regs) {
        echo "array(" . count($regs) . ") {\n";
        foreach ($regs as $key => $value) {
            echo "  [{$key}]=>\n  ";
            if (is_string($value)) {
                var_dump(base64_encode($value));