как заменить все символы заголовка

Как я могу заменить все __Chr(__Rand(98,122)) а также __Chr(__Rand(97,122)) значения с реальной функцией php chr(rand(97,122)) которые дают случайные и с одинаковыми параметрами в общем виде вот заголовок:

Reply-To: __Reply-To
Bounces_to: __Bounce
Message-ID: <__Chr(__Rand(97,122))__Chr(__Rand(98,122)).__X-Mailer@__From_dn>
X-BFI: __Chr(__Rand(97,122))__Chr(__Rand(98,122))
From: __To

0

Решение

Ты можешь использовать preg_replace_callback для этого, т.е.

<?php
$header = <<< LOB
Reply-To: __Reply-To
Bounces_to: __Bounce
Message-ID: <__Chr(__Rand(97,122))__Chr(__Rand(98,122)).__X-Mailer@__From_dn>
X-BFI: __Chr(__Rand(97,122))__Chr(__Rand(98,122))
From: __To
LOB;

function charCallback($matches){
$charOne = (int)$matches[1];
$charTwo = (int)$matches[2];
return chr(rand($charOne,$charTwo));
}

echo  preg_replace_callback('/__Chr\(__Rand\((\d+),(\d+)\)\)/', 'charCallback', $header);

Выход:

Reply-To: __Reply-To
Bounces_to: __Bounce
Message-ID: <uw.__X-Mailer@__From_dn>
X-BFI: jn
From: __To

Ideone Demo

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]