mam linki w postaci [[link do strony]] lub [[link do strony|inna nazwa]]
i teraz jak zrobic takie cos:
jeżeli występuje coś po separatorze | niech podstawi tą nazwę w przeciwnym wypadku niech podstawia "link do strony"
z góry dzięki
<?php $tekst ='<A href=\"\">www.strona.pl</A>'; ?>
<?php # tekst do przerobki $text = '[[link|tata]]'; # wersja z podwyrazeniami (niezaimpletowana w funkcji) $regexp = '/(?(?=[[(?:.+)|(?:.+)]])[[(.+)|(.+)]]|[[(.+)]])/'; # wersja alternatywna;) $regexp = '/[[(.+?)(?:|(.+))?]]/'; function wiki_link($mat) { return '<a href=\"'. $mat[1] .'\" title=\"'. $mat[0] .'\">'. $mat[2] .'</a>'; } return '<a href=\"'. $mat[1] .'\" title=\"'. $mat[0] .'\">'. $mat[1] .'</a>';; } ?>
<? $t='blblblablabb [[link|tata]] cvxxcvxcv [[link2|tata2]] blablablba'; echo preg_replace( '%[[([^|]+)|?(.*?)]]%e', '\"<a href=\"\".str_replace(\" \",\"_\", $1).\"\">\".(strlen(\"$2\")?\"$2\":\"$1\").\"</a>\"', $t ); ?>