Ben: Durchnummerierung einzelner Textpassagen

Beitrag lesen

gudn tach!

$i = 0;
$s = preg_replace('/(<a href=")([^"]+)("[^>]>)(.?)(</a>)/es',"'$1'.($link_arr[$i][0]='$2').'$3'.($link_arr[$i][1]='$4').'$5['.++$i.']'", $s);


>   
> gewinnt vermutlich keinen schoenheitswettbewerb, sollte aber funzen.  
> schau dir fuers verstaendnis mal die [modifier](http://php.net/manual/en/reference.pcre.pattern.modifiers.php) an, insb. 'e', sowie die user-comments (auch bei [preg_replace()](http://php.net/preg_replace) und [preg_replace_callback()](http://php.net/preg_replace_callback)), die davon handeln.  
  
Hallo Seth,  
  
erst einmal vielen Dank für die Hilfe. Den Code habe ich nun meinen Ansprüchen entsprechend etwas abgewandelt, sodass ich jetzt auch zum gewünschten [Ergebnis](http://www.booni.de/newsdrucken/313/) gekommen bin:  
  
~~~php
  
$i = 0;  
$s = preg_replace('/(<a href=")([^"]+)("[^>]*>)(.*?)(<\/a>)/es',"'<!--'.(\$link_arr[\$i]='$2').'//--><span style=\"font-weight:bold\">$4 ['.++\$i.']</span>'",$s);  

Allerdings stören mich derzeit noch zwei Feinheiten, die ich demnächst beheben möchte:

Erstens sollte das Auskommentieren des "$link_arr=..." im Text nur eine temporäre Lösung bleiben (eine Variablenzuweisung ohne Ausgabe habe ich derzeit noch nicht hinbekommen). Und zweitens zeigt der erste User-Comment unter preg_replace_callback()) doch sehr deutliche Geschwindingkeitsunterschiede, weshalb ich auf lange Sicht lieber diese Funktion nutzen möchte.

Primär habe ich mein Ziel jedenfalls erstmal erreicht und bedanke mich dafür,
Ben