Autor Zpráva
vasek125
Profil *
Dobrý den,
rád bych se zeptal, jak se dá nahradit emailová adresa např. podle následujícího vzoru:

původní: muj@email.cz
nová: Jmeno: muj, server: email.cz

a to na základě podmínek ověření správnosti emailové adresy. Vůbec si s tím nevím rady, hlavně např., jak vytáhnou jen část textu před zavináčem a ještě větší problém, ověření té adresy.
djlj
Profil
$mail=explode("@", $mail, 2);

echo "Jmeno: $mail[0], server: $mail[1]";
vasek125
Profil *
Dík, takže z toho by šlo vlastně udělat i to jednoduché ověření že? $mail[1] rozdělit na půlku tečkou, nějaký if....
vasek125
Profil *
Stejně mi ale ještě jedna věc vrtá hlavou, existuje nějaké rozumné řešení, jak tu adresu vytáhnout z textu? Např: ...v případě zájmu nás kontaktujte na moje@adresa.cz . Potřebuju z textu vytáhnout ty emailové adresy(moje@adresa.cz...). Je jich tam několik.
djlj
Profil
vasek125
if (ereg("^[_a-zA-Z0-9\.\-]+@[_a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4}$", $mail)){

$mail=explode("@", $mail, 2);

echo "Jmeno: $mail[0], server: $mail[1]";

}
djlj
Profil
vasek125
Existuje, regulární výrazy :)
vasek125
Profil *
Existuje někde manuál k tomu ereg, kde by se vše podrobně popisovalo?
djlj
Profil
vasek125
http://regexp.cz http://php.net/ereg
vasek125
Profil *
Dík, a ten výtah těch adres z toho textu je asi nutné řešit přes javascript že? Myslím tohle:



$text= "neco jj dffa fdsa muj@email.cz fdsf fsdafasd fsdafasd tvuj@email.cz";

tak aby se z toho vypsali jen ty dva emaily.
djlj
Profil
vasek125
Ne, pomocí reguárních výrazů... Tuším preg_match_all()
vasek125
Profil *
Tak se mi to konečně povedlo, no tedy skoro, mám tam:



preg_match_all("/([_a-zA-Z0-9\.\-]+@[_a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4})/ ", $html, $matches, PREG_PATTERN_ORDER); //vydoluje adresy

for ($i=0; $i< count($matches[0]); $i++) {
echo $matches[1][$i] . "\n","<br>"; //vypis adres
}

..pak tam mám několik řádků, které tu adresu upraví do nějaké podoby <a href="muj@email.cz">muj@email.cz</a>

problém je, že nevim, jak tam ty upravené adresy vrátit zas na místo, odkud se předtím vybraly? Tedy aby se to upravilo následovně:


původní text: ... neco jj dffa fdsa muj@email.cz fdsf ....
upravený: ... neco jj dffa fdsa <a href="muj@email.cz">muj@email.cz</a> fdsf ...
djlj
Profil
Aha, takže ty chceš jen nahradit adresy v textu?
No tak to spíš pomocí ereg_replace...
Toto téma je uzamčeno. Odpověď nelze zaslat.

0