[ Príspevkov: 12 ] 
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 : 26.03.2013 8:57 | Nahrada #cislo odkazom

dany text mam v premennej: $prispevok["text"]

potreboval by som /ak existuje, existuju / v danom texte vyskyt #cislo

tak nahradit vsetky vyskyty #cislo tymto: <a href="odkaz.php?odkaz=$cislo" target="_blank">

priklad: $prispevok["text"] = 'Ahoj #12 svet'
vystup: Ahoj <a href="odkaz.php?odkaz=12" target="_blank"> svet

priklad2: $prispevok["text"] = 'Ahoj #12 svet #1234'
vystup: Ahoj <a href="odkaz.php?odkaz=12" target="_blank"> svet <a href="odkaz.php?odkaz=1234" target="_blank">

myslim, ze nejako cez regukarne vyrazym, len to neviem napisat
Kód:
$prispevok["text"] = eregi_replace(co hladat, cim nahradit, $prispevok["text"]);

dik


Offline

Správca fóra
Správca fóra
Nahrada #cislo odkazom

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51 | 51
Bydlisko: Bratislava
NapísalOffline : 26.03.2013 9:23 | Nahrada #cislo odkazom

Zabudni na ereg*, pouzivaj radsej preg* funkcie. Hladany vyraz moze byt napriklad #(\d+), kde \d+ predstavuje jeden alebo viac ciselnych znakov. V retazci pre nahradu potom mozes pouzit vyraz \\1, ktory v tomto pripade zastupuje najdene cislo za znakom #. Mimochodom, ukoncovacie tagy ti nechybaju?


_________________
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 : 26.03.2013 9:45 | Nahrada #cislo odkazom

samozrejme, vystup: Ahoj <a href="odkaz.php?odkaz=12" target="_blank">#12</a> svet
TAKZE ako to bude ?
Kód:
$prispevok["text"] = preg_replace(#(\d+),tu ako dam tu adresu?, $prispevok["text"]);


Offline

Správca fóra
Správca fóra
Nahrada #cislo odkazom

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51 | 51
Bydlisko: Bratislava
NapísalOffline : 26.03.2013 9:53 | Nahrada #cislo odkazom

V prvom rade si pozri manual k funkcii. Do odkazu vlozis vyraz \\1 tam, kde chces uviest len samotne cislo a \\0 tam, kde chces uviest cely najdeny vyraz, cize #cislo


_________________
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 : 26.03.2013 11:40 | Nahrada #cislo odkazom

dik, ale nemam sajnu, v tom manuali som ani nic o vlozeni www adresy nenasiel, z tych reg. vyrazov som proste jelen :)


Offline

Správca fóra
Správca fóra
Nahrada #cislo odkazom

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51 | 51
Bydlisko: Bratislava
NapísalOffline : 26.03.2013 12:13 | Nahrada #cislo odkazom

Kazdu blbost tam predsa nebudu davat :)
Kód:
<a href="odkaz.php?odkaz=\\1" target="_blank">\\0</a>

Posledny krok uz hadam zvladnes aj sam...


_________________
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 : 26.03.2013 12:31 | Nahrada #cislo odkazom

sa smejem, lebo teraz neviem co je posledny krok :)

zatial mam toto:
Kód:
$prispevok["text"] = preg_replace(#(\d+),<a href="odkaz.php?odkaz=\\1" target="_blank">\\0</a>, $prispevok["text"]);


Offline

Správca fóra
Správca fóra
Nahrada #cislo odkazom

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51 | 51
Bydlisko: Bratislava
NapísalOffline : 26.03.2013 12:34 | Nahrada #cislo odkazom

Poslednym krokom je spravne doplnenie uvedeneho do funkcie preg_replace. Ak ti po spusteni skript vypisuje chybu, mas to zle :)


_________________
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 : 26.03.2013 21:41 | Nahrada #cislo odkazom

napr
Kód:
$prispevok["text"] = preg_replace("/#(\d+)/", "<a href=\"odkaz.php?odkaz=\\1\" target=\"_blank\">\\0</a>", $prispevok["text"]);


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 : 27.03.2013 22:02 | Nahrada #cislo odkazom

funguje to ... ale narazil som na problem, ze ked do casti, cim sa to ma nahradit dam nejaky <span ... tak to vobec nejde

teda skusam to takto:
Kód:
$prispevok["text"] = preg_replace("/#(\d+)/", "<span onmouseover=\"tooltip.show('<h2>Príspevok cislo \\1 </h2>');\" onmouseout=\"tooltip.hide();\">\\0</span>", $prispevok["text"]);


no a ten efekt nefunguje, to mam cez js, ze ked perjdem mysou, tak mi zobrazi v malom okne nad tym ten text ...

ak mam v texte #123 ... tak mal by sa zobrazit ten text #123 a ked mysou prejdem nad tym, tak by tam mal byt text: Príspevok cislo 123

ziaden text tam ale nie je, ani ten efekt nefunguje / ked ho dam inde na stranku, funguje, takze moze mat to nejaky problem s tym, ze ten span je dnu v preg-replace, alebo som tam daco zle zapisal v tom mojom zapise ?

dokonca ani ked tam nedam \\0 a \\1 mi ten efekt nefunguje ... teda ked to zapisem napr takto:
Kód:
$prispevok["text"] = preg_replace("/#(\d+)/", "<span onmouseover=\"tooltip.show('<h2>Príspevok cislo hocico </h2>');\" onmouseout=\"tooltip.hide();\">hocico</span>", $prispevok["text"]);


zivu ukazku nemam, mam to na localhoste, ale ten efekt je OK, lebo prispevok ma napr aj cislo a ked to aplikujem na to cislo, s ktorym nerobim nic, len h zobrazujem, tak to krasne funguje, teda kod:
Kód:
<span onmouseover=\"tooltip.show('<h2>Príspevok z diskusie ".$prispevok["cislo"]."  </h2>');\" onmouseout=\"tooltip.hide();\">#".$prispevok["cislo"]."
         </span>


a ked prejdem mysou nad cislom, ukaze sa mi ten efekt:
Nahrada #cislo odkazom

Co som v tom preg replace zadal zle ?


Offline

Správca fóra
Správca fóra
Nahrada #cislo odkazom

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51 | 51
Bydlisko: Bratislava
NapísalOffline : 29.03.2013 8:34 | Nahrada #cislo odkazom

Nevidim tam ziadnu chybu. Skus pozriet vysledny zdrojak, ci je tam vsetko tak, ako ma byt.


_________________
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 : 08.06.2015 14:31 | Nahrada #cislo odkazom

stenley, pls a vedel by si mi pomoct este s takou prkotinou?
riesili sme tu #123 - vytiahlo to z DB (tabulka 1) prispevok s cislom 123 a zobrazilo

ako by sa ten regularny vyraz mal zmenit, aby ked napisem #r123 tak to vytiahne to iste, len z inej tabulky (tabulka 2) - ked sa tam vyskytuje medzi znakom # a cislo 123 prave jeden znak "r"


 [ Príspevkov: 12 ] 


Nahrada #cislo odkazom



Podobné témy

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

Problém s odkazom

v HTML, XHTML, XML, CSS

3

461

30.01.2009 21:20

-zAc-

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

Problém s odkazom

v JavaScript, VBScript, Ajax

6

359

26.11.2012 2:42

weroro

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

Náhodný text s odkazom

v PHP, ASP

2

718

11.04.2009 20:50

pkrajnak

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

pomoc s odkazom Guestbook

v HTML, XHTML, XML, CSS

8

5801

22.01.2007 14:36

Punker661

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

Problem s odkazom v googli

v Internetový marketing, SEO, reklama

6

704

26.07.2011 22:14

prekladajsk

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

ako urobiť swf s odkazom

v Ostatné

3

1169

04.09.2009 8:14

rooobertek

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

cislo PORTu

v Bezpečnosť a firewally

2

1074

20.02.2010 8:24

Jaro

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

Nebere číslo

v PHP, ASP

10

782

18.04.2008 21:26

Svolo

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

Amstrongove číslo

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

9

641

14.02.2017 18:40

GamerSK

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

Mobilné číslo

v Krčma

2

3276

28.03.2016 16:37

Daron

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

Tel. číslo

v Krčma

8

1146

20.01.2011 16:00

Daron

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

kombinačné číslo

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

4

1042

29.11.2012 21:41

BX

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

Číslo neexistuje....

v Krčma

4

1183

30.10.2013 15:16

Memorex88

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

ICQ číslo

v Sieťové a internetové programy

1

348

10.10.2012 0:35

walther

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

zistiť súkromné číslo

v Krčma

12

13808

09.05.2009 14:48

patrick1

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

licencne cislo W10

v Operačné systémy Microsoft

4

479

26.09.2020 12:35

kllr007



© 2005 - 2025 PCforum, edited by JanoF