Autor Zpráva
Johnik
Profil
Ahoj,
nemůžu přijít na to jak jednoduše (pomocí regulárů) udělat z:

domains/neco/folder/neco.any

toto:

http : //neco.example.com/folder/neco.any

S tím, že "neco" může být třeba ve čtyřech různých obměnách.
Nechci používat textové fce, protože se může měnit například počet znaků v domains...
Jan Tvrdík
Profil
Johnik:
Tak jak to chceš řešit to řešit imho nejde, protože abc/def/ghi/file.ext může být jak http://def/ghi/file.ext, tak http://ghi/file.ext
Johnik
Profil
Jan Tvrdík
Tahle situace určitě nenastane. Je to jen pro http://def/ghi/file.ext.
Jan Tvrdík
Profil
Johnik:
Jak si tím můžeš být jist? domains je vždy jen jedna složka, nebo se může jednat o složku s podsložkami?
Johnik
Profil
Jan Tvrdík
Složka "domains" je hlavní složka, pak jsou názvy domén 3. řádu. Takže "www", "nejaka"...
A název té subdoménu (podsložku domains) potřebuju dát před doménu 2. řádu.

Ale jestli to nejde nějak pomocí reguláru, tak to udělám textovými fukcemi. Ale chtěl jsem nějaké univerzálnější řešení.
Jan Tvrdík
Profil
Zkus
echo preg_replace('#^[a-z]+/([a-z]+)/(.+)$#', 'http://$1.example.com/$2', 'domains/neco/folder/neco.any');
Johnik
Profil
Jan Tvrdík
Díky moc, funguje výborně.

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: