Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pomocy przy preg_replace -> Wykluczenie z podmiany ciagu
Forum PHP.pl > Forum > Gotowe rozwiązania
Yarofsn
Witam!
Z racj tego ze przeszukalem forum i nie znalzlem odpowiedzi, postanowielm poprosic o pomoc.
Zrobilem funkcje podmiany linkow w postci www.strona.pl na <a href=www.strona.pl>www.strona.pl</a>

[php:1:f1b349f2b9]
<?
function li($text) {
$text =preg_replace("/b((http(s?)://)|(www.))([w.-]+)([/w+.]+)b/i","<a href="http$3://$4$5$6">$4$5$6</a>",$text);
return $text;}

?>[/php:1:f1b349f2b9]

Chodzi o to ze w tekscie jest rowniez kod html ktory wstawia obraz, czyli <img src="http://stona.pl/plik.jpg">
Gdy jest podmiana rowniez link "http://stona.pl/plik.jpg" zostaje podmieniony na hiperlink i robi sie kaszana typu :
<a%20href='www.strona.pl/plik.jpg'%20target='_blank'>www.strona.pl/plik.jpg</a>

Kombinowalem z wykluczeniem ciagu ktory znajduje sie pomiedzy znakami "" ale nie wiem jak poprawnie to zapisac.. i nie wiem czy bedzie dzialalo.
Czy ktos moze mi pomoc?

Pozdrawiam serdecznie

Yaro
Yarofsn
Siedzialem i udalo sie to zrobić :]
A więc jeśli ktoś będzie miał podobny problem to rozwiązanie jest takie :

[php:1:f69a4cab9f]<?php
function li($text) {
$text= preg_replace("#(n|^| )([a-z]{3,7})://([^, nr]+)#i", "1<a href="2://3" target="_blank">2://3</a>", $text);
$text = preg_replace('#(n|^| )www.([a-z0-9-]+).([^, nr]+)#i', "1<a href="http://www.2.3" target="_blank">www.2.3</a>", $text);
$text = preg_replace("/(([w.]+))(@)([w.]+)b/i","<a href="mailto:$0">$0</a>",$code);
return $text;}
?>[/php:1:f69a4cab9f]
Dodalem tez podmiane emiala.
Pozdrawiam!
KeeKee
Cytat
[php:1:d92f8dddb6]<?php
  [...]
       $text = preg_replace("/(([w.]+))(@)([w.]+)b/i","<a href="mailto:$0">$0</a>",$code);
  [...]
?>[/php:1:d92f8dddb6]

Widać, że nie ty to napisałeś, bo w w/w linijce pod koniec jest zmienna $code, a nie $text winksmiley.jpg
Także mogłeś napisać, że już znalazłeś a nie że "Siedzialem i udalo sie to zrobić :] " snitch.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.