Fixed 'starts with' operator for empty needle

Fixes #1432
`Parser::getVarName()` is already providing random/unique variable names:

```
    public function getVarName()
    {
        return sprintf('__internal_%s', hash('sha256', uniqid(mt_rand(), true), false));
    }
```

So, we should use the same algorithm here.