![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 227 Pomógł: 1 Dołączył: 12.05.2002 Skąd: gdańsk Ostrzeżenie: (0%) ![]() ![]() |
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 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 115 Pomógł: 0 Dołączył: 16.04.2005 Skąd: Białowieża Ostrzeżenie: (0%) ![]() ![]() |
Musisz pokombinować z warunkami i wyrażeniami regularnymi... w kursie ze stronki http://web.archive.org/web/20041109173849/...es/php/regex/1/ widzałem taki skrypcik:
Może to cię jakoś nakieruje =) Na przyszłość: wyrażaj się jaśniej, miałem problemy ze zrozumieniem... Ten post edytował rolnix 16.04.2005, 16:04:08 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jedynym rozsądnym rozwiązaniem jest użycie preg_replace_callback (już kombinuję nad tym). Zaraz odpowiem.
Edit - odpowiedź
Jeśli potrzebujesz dokładnie sprawdzać linki użyj parse_url lub kolejnego regexpa w wiki_link. Ten post edytował splatch 16.04.2005, 16:45:23 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 227 Pomógł: 1 Dołączył: 12.05.2002 Skąd: gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Witam,
dzieki za przykład, ale jeszcze maly problem funkcja dziala do momentu gdy $text = '[[link|tata]]'; jesli $text = 'blblblablabb [[link|tata]] cvxxcvxcv [[link2|tata2]] blablablba'; to sie kopie (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) aha i jeszcze moze jakis pomysl by w linku podminial spacje na _ (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) pozdrawiam i z gory dzięki... |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 401 Pomógł: 5 Dołączył: 14.09.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat(splatch @ 2005-04-16 17:36:07) Jedynym rozsądnym rozwiązaniem jest użycie preg_replace_callback (już kombinuję nad tym). Oj niekoniecznie (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)
Voila (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 227 Pomógł: 1 Dołączył: 12.05.2002 Skąd: gdańsk Ostrzeżenie: (0%) ![]() ![]() |
(IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Heh, kicha:
Parse error: parse error in c:\usr\krasnal\www\zgapa.pl\zgapedia2\view.php(356) : regexp code on line 1 Fatal error: Failed evaluating code: "".(strlen("holenderski")?"holenderski":"30 marca]] [[1853]] r. - zm. [[29 lipca]] [[1890]] r.) - [[Holandia")."" in c:\usr\krasnal\www\zgapa.pl\zgapedia2\view.php on line 356 ( dalem tak: $content = preg_replace( '%\[\[([^\|]+)\|?(.*?)\]\]%e', '"<a href=\"".str_replace(" ","_", $1)."\">".(strlen("$2")?"$2":"$1")."</a>"', $content ); ) --------------------------------------- pokombinowalem jeszcze trochę to stworzyłem coś takiego $content=preg_replace('%\[\[(.*?)(?:\|(.*?))?\]\]%e','"<a href=view.php?name=".ucfirst("$1").">".(strlen("$2")?"$2":"$1")."</a>"',$content); teoretycznie jakos tam dziala, zobaczymy co dalej... mam teraz inny problem jak to przerobic by w linku zamieniał spację na _ (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) pozdr. dzięki.. Ten post edytował pieto 18.04.2005, 00:58:04 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 02:11 |