Autor Zpráva
Stepanka
Profil *
Ahoj,

prosím mohl by mi někdo poradit? Mám nějaký takovýto text, který mi vygeneruje jeden script (jedná se o text, který se posílá do e-mailu..)

např.:
<p>abc</p>
<p><a
href="http://www.google.cz">www.google.cz</a> -
toto je google.cz</p>
<p>def, ghijkl</p>
<p><a
href="http://www.seznam.cz">www.seznam.cz</a> -
tohle se seznam a tak d&aacute;le..</p>
<p>&nbsp;</p>
<p>S pozdravem, tamten</p>

V e-mailu se tento kód zobrazí samozřejmě s odkazy a bez tagů (posílám jako HTML)..

A můj problém je, že bych potřebovala za KAŽDÝ vložený odkaz přidat třeba "?ga=NEJAKA_PROMENNA".
Tzn. aby se v tomto případě odeslaly odkazy http://www.google.cz?ga=něco a http://www.seznam.cz?ga=něco_jiného

Nevíte někdo, prosím, jak by se to tam dalo doplnit?

Děkuju
RAmses
Profil
Ahoj Stepanko,

zkus použít tohle
$text = Ereg_Replace("(http:\/\/[_a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4}\/{1}[-_~&=\?\ .a-z0-9\/]*)",'\\2?ga=neco', $text);


to by ti mělo z textu vyhledat řetězce s url a přidat co potřebuješ.
Stepanka
Profil *
RAmses
Mockrát děkuji, zkusím to.
Ale když se na to koukám, možná by bylo lepší vyhledávat řetězce <a href> než http, pro případ, že by odkaz začínal nějak jinak.. <a href=..> je tam vždycky, když se jedná o odkaz, http nemusí.. Co myslíš?
RAmses
Profil
Napsal jsem to znova, tohle již funguje
$text = eregi_replace("([[:alpha:]]+://(www)?[.]?[a-zA-Z0-9_/-?\.]*)", "\\1?ga=neco", $text);

funguje to pro xxxx:// což pro tvůj přiípad by mělo stačit.
Stepanka
Profil *
RAmses
jsi hodný, moc děkuju.
Stepanka
Profil *
RAmses
Nevím jestli na tohle vlákno ještě chodíš, ale doufám, že ano..

Tvůj kód funguje pěkně pro odkazy např. http://www.google.com.
Ale zkusila jsem vložit odkaz jako například http://ben-int.webc.cz/e-shop/cz/ a vygenerovalo mi to http://ben?ga=neco-int.webc.cz/e-shop/cz/

Nešel by ten výraz ještě nějak přehodnotit, aby mi to bralo všechny odkazy?

Děkuju moc.
Stepanka
Profil *
Tak už jsem si pomohla sama... Zabralo až

$text = eregi_replace("(<a href=\"[[:alpha:]]+:\/\/(www)?[.]?[_a-zA-Z0-9\.\-]+\.[a-zA-Z][-_~&amp; #=\?\ .a-z0-9\/]*)",'\\1?ga='.$kod.'', $text);

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: