Autor Zpráva
vomackav
Profil *
Zdravím,

mám v proměnné uloženo:
$email = 'vomackav@gmail.com';
Jak uložím do $prom řetězec textu co je před "@" - vše ostatní odfiltrovat.

Díky V.
Jan Tvrdík
Profil
vomackav:
Koukni na funkce substr a strpos.
Micruss
Profil
šlo by to i přes explode

<?php

$email = 'vomackav@gmail.com';
$pred_mailem = explode('@', $email);
echo $pred_mailem[0];
RockFire
Profil
Jestli se nepletu, mělo by jít i tohle:

<?php
$email = 'vomackav@gmail.com'; 
$pred = preg_replace("/^(.+)@(.+)$/", "$1", $email);
?>
vomackav
Profil *
Děkuji, funkční
Kubo2
Profil
RockFire:
Použitím zbytočne zložitých regulárnych výrazov je zbytočne zložité pre takú jednoduchú vec (a tuším to aj zbytočne spomaluje aplikáciu).
Ako už spomínal Jan Tvrdík v príspevku číslo [#2]:
<?php

$email = "admin@localhost";
$beforeAtSign = substr(0, strpos($email, '@'));
echo $beforeAtSign;
Tori
Profil
Regulár se dá zjednodušit: preg_replace('~@.*$~', '', $email);
Pokud se může stát, že řetězec nebude obsahovat zavináč, je bezpečnější místo strpos použít strcspn.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: