Autor | Zpráva | ||
---|---|---|---|
Jiří Ráb Profil |
#1 · Zasláno: 14. 12. 2017, 17:29:47
ahoj ve škole jsme dostali vyhredat v textu a nahradit emailové adresy odkazy (href)
zkoušel jsem do udělat pomocí preg_replace,ale nevím proč mi nejde druhým preg_replace s limitem 2 nahradit druhá emailová adresa viz kod níže Dík za pomoc <?php $retezec="Dotazy posílejte na bajer@spse.cz nebo st20983@student.upce.cz a vyčkejte na odpověď."; $reg="/[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,3}/"; $nahrazeni1="<a href=’mailto:bajer@spse.cz’>(spse.cz)</a>"; $nahrazeni2="<a href=’mailto:st20983@student.upce.cz’>(student.upce.cz)</a>"; $retezec=preg_replace($reg,$nahrazeni1,$retezec,1); $retezec=preg_replace($reg,$nahrazeni2,$retezec,2); echo $retezec; ?> |
||
Keeehi Profil |
Jiří Ráb:
Protože limit neříká kolikáté "nalezení" se má nahradit, ale po kolik nahrazeních se s tím má skončit. Navíc to co tvoříš ty po tobě nikdo nechtěl. Protože to co chceš vytvořit ty je, že jakákoli první emailová adresa se nahradí předem definovanou. To, co musíš použít, aby to fungovalo tak, jak ve škole chtěli jsou zpětné reference (backreferences). Ty ti dovolí v definici nahrazení používat nalezené části které odpovídají vybraným částem výrazu. |
||
Časová prodleva: 5 let
|
0