[ Príspevkov: 6 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.12.07
Prihlásený: 13.06.24
Príspevky: 488
Témy: 139 | 139
Bydlisko: Bytča
NapísalOffline : 12.01.2016 12:01 | Spravne nahradenie eregi_replace

pouzivam:
Kód:
$zaznam["link"] = eregi_replace("(^| |>)(www([.]?[a-zA-Z0-9_/-?])[^< ]*)", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $zaznam["link"]);

dal som nove Php 5.3 a> Deprecated: Function eregi_replace() is deprecated in

ako to mam spravne nahradit cez preg_replace? ked dam
Kód:
$zaznam["link"] = preg_replace("(^| |>)(www([.]?[a-zA-Z0-9_/-?])[^< ]*)", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $zaznam["link"]);

Vysledok> Warning: preg_replace() [function.preg-replace]: Unknown modifier '(' in

Skusal som to aj rozbit a ten isty vysledok:
Kód:
$string = $zaznam["link"];
$pattern = '(^| |>)(www([.]?[a-zA-Z0-9_/-?])[^< ]*)';
$replacement = '\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>';
$string = preg_replace($pattern, $replacement, $string);


Offline

Správca fóra
Správca fóra
Spravne nahradenie eregi_replace

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51 | 51
Bydlisko: Bratislava
NapísalOffline : 13.01.2016 8:58 | Spravne nahradenie eregi_replace

Nahrad povodny pattern tymto /pattern/i a nezabudni escapovat lomitko pouzite v patterne (pozri si dokumentaciu k funkcii)


_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.12.07
Prihlásený: 13.06.24
Príspevky: 488
Témy: 139 | 139
Bydlisko: Bytča
Napísal autor témyOffline : 13.01.2016 10:24 | Spravne nahradenie eregi_replace

stenley, vdaka za odpoved ale vobec jej nerozumiem


Offline

Správca fóra
Správca fóra
Spravne nahradenie eregi_replace

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51 | 51
Bydlisko: Bratislava
NapísalOffline : 13.01.2016 10:40 | Spravne nahradenie eregi_replace

Sorry, asi som uz zabudol zrozumitelne vysvetlovat :D
Kód:
$pattern = '/(^| |>)(www([.]?[a-zA-Z0-9_\/-?])[^< ]*)/i';


_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.12.07
Prihlásený: 13.06.24
Príspevky: 488
Témy: 139 | 139
Bydlisko: Bytča
Napísal autor témyOffline : 13.01.2016 10:51 | Spravne nahradenie eregi_replace

dakujem :) vyriesene


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 13.01.2016 13:15 | Spravne nahradenie eregi_replace

Len doplním, v preg_* (replace, match, match_all...) prvý znak v regexe určuje akoby "hranicu"/oddelovač a môže to byť v podstate akýkoľvek nealfanumerický znak (viac v dokumentácií).
To znamená, že napr toto
Kód:
preg_match( '/nejaky\s+pattern/i', $str)

je ekvivalentné tomuto
Kód:
preg_match( '#nejaky\s+pattern#i', $str)

alebo tomuto
Kód:
preg_match( '%nejaky\s+pattern%i', $str)


To je výhodné pri matchovaní lomítok (tých je veľa väčšinou v html, alebo url), aby si ich nemusel escapovať. Takže napr tvoj prípad (ja osobne používam znak #):
Kód:
$pattern = '#(^| |>)(www([.]?[a-zA-Z0-9_/-?])[^< ]*)#i';


To je len taká vychytávka, možno sa bude hodiť ;)


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
 [ Príspevkov: 6 ] 


Spravne nahradenie eregi_replace



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

EREGI_REPLACE error

v PHP, ASP

3

638

06.08.2009 19:56

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

eregi_replace, kde je problem?

v PHP, ASP

1

584

05.09.2009 15:15

Tominator

V tomto fóre nie sú ďalšie neprečítané témy.

nahradenie textu

v Assembler, C, C++, Pascal, Java

2

337

16.06.2015 2:27

p4tooo

V tomto fóre nie sú ďalšie neprečítané témy.

Nahradenie HDD

v Pevné disky a radiče

17

1033

21.04.2010 9:54

LeQuit

V tomto fóre nie sú ďalšie neprečítané témy.

jQuery, nahradenie textu

v JavaScript, VBScript, Ajax

3

473

01.06.2011 11:12

newboy1

V tomto fóre nie sú ďalšie neprečítané témy.

nahradenie integrovanej grafiky

v Grafické karty

10

696

09.02.2012 12:17

payo99

V tomto fóre nie sú ďalšie neprečítané témy.

nahradenie reťazca inym reťazcom

v PHP, ASP

3

594

02.12.2009 23:48

Supicek

V tomto fóre nie sú ďalšie neprečítané témy.

pridanie kodu nie nahradenie

v JavaScript, VBScript, Ajax

9

466

19.08.2015 18:24

Johnnny

V tomto fóre nie sú ďalšie neprečítané témy.

Nahradenie www by pap

v PHP, ASP

3

523

07.02.2011 0:05

shaggy

V tomto fóre nie sú ďalšie neprečítané témy.

Nahradenie tagov v retazci

v PHP, ASP

3

415

17.06.2012 18:47

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

c++ nahradenie znaku viacerými znakmi

v Assembler, C, C++, Pascal, Java

11

555

14.11.2014 8:34

BX

V tomto fóre nie sú ďalšie neprečítané témy.

nahradenie tagu <hr>

v HTML, XHTML, XML, CSS

7

612

06.06.2008 14:38

Tominator

V tomto fóre nie sú ďalšie neprečítané témy.

Nahradenie medzery a zmensenie pismen

v PHP, ASP

18

1317

15.03.2008 18:16

chrono

V tomto fóre nie sú ďalšie neprečítané témy.

Zostavenie obvodu a nahradenie komponentov

v Elektronika

1

399

10.01.2024 13:30

Fico

V tomto fóre nie sú ďalšie neprečítané témy.

Premenovanie suborov - nahradenie znaku za iny

v Ostatné programy

1

1218

08.02.2006 10:10

gogolak

V tomto fóre nie sú ďalšie neprečítané témy.

nahradenie klavesy na klavesnici, klavesou WIN

v Ostatné programy

2

650

08.02.2008 15:57

greppi



© 2005 - 2024 PCforum, edited by JanoF