Autor Zpráva
Jiří Ráb
Profil
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.

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:

0