wpadłem na pomysł, aby automatycznie kodować adresy e-mail za pomocą PHP. Napisałem takie coś:
<?php function strtoentity($input) { foreach (str_split($input) as $obj) { $output .= "&#".ord($obj).";"; } return $output; } $tekst = "tekst teskt tekst tesktekst tesktekst tesk info@infooo.pl tekst tesk tekst tesk tekst tesk<br />test@testl.pl"; $wzorzec = '/[a-zA-Z0-9.\-_]+@[a-zA-Z0-9\-.]+\.[a-zA-Z]{2,4}/'; ?>
przykładowo: adres e-mail info@infooo.pl przyjmie postać info@infooo.pl
Działanie:
- najpierw znajduje adres e-mail w danym stringu
- następnie uruchamia funkcję strtoentity(), której zadaniem jest zamiana każdego znaku z tego adresu na wartość ASCII.
Problem polega na tym, że funkcja zamiast zwracać zakodowany adres, zwraca zakodowane \0. Problem zapewne banalny, ale jakoś nie potrafię sobie z nim poradzić.
Proszę o pomoc.