Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Zakodowanie adresu e-mail, Problem z \0
cafepl_com
post
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 17.01.2007

Ostrzeżenie: (0%)
-----


Witam,

wpadłem na pomysł, aby automatycznie kodować adresy e-mail za pomocą PHP. Napisałem takie coś:

  1. <?php
  2. function strtoentity($input)
  3. {
  4. foreach (str_split($input) as $obj)
  5. {
  6. $output .= "&#".ord($obj).";";
  7. }
  8. return $output;
  9. }
  10.  
  11.  
  12.  
  13. $tekst = "tekst teskt tekst tesktekst tesktekst tesk info@infooo.pl tekst tesk tekst tesk tekst tesk<br />test@testl.pl";
  14. $wzorzec = '/[a-zA-Z0-9.\-_]+@[a-zA-Z0-9\-.]+\.[a-zA-Z]{2,4}/';
  15.  
  16. echo preg_replace($wzorzec, strtoentity('\0'), $tekst);
  17. ?>


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.

Ten post edytował cafepl_com 4.07.2010, 18:29:30
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 10:13