Mailinglisten-Archive |
Oliver Kummerow wrote: > > Hallo > > wenn es denn geht, soll ein captured subpattern (gefangenes > Untermuster <g>) in preg_replace als Index eines Array dienen und > zwar für das "Hash"en einer Ersetzung aus diesem Array. Das > scheint aber nicht hinzuhauen. Ist da irgendeine special Syntax > fällig? > > zur Verdtl.: > > $data = preg_replace > ( > "~ > limitleft\#(\d+)\".*limitright > ~Uxis", > " (".$this->index[\\1].") ", > $data > ); Backreferenzes können nur innerhalb des Regulären Ausdruck verwendet werden. Anders als in Perl wird nicht automatisch eine Variable $1 erzeugt. Mit einem zweistufigen Vorgehen solltest Du das Problem lösen können. preg_match_all() greift alle Vorkommen und preg_replace_all() oder str_replace() macht die Ersetzungen. Ulf
php::bar PHP Wiki - Listenarchive