Minden szó lecserélése
Sziasztok!
Nézelődtem az oldalon, de nem találtam ilyen témát, így nyitnék egyet. Bocsi, ha már meg lett tárgyalva!
A következő problémában szeretném a segítségeteket kérni. Adott egy szöveg, aminek a szavaiból linket kellene csinálni. Tehát a függvénynek végig kellene mennie a szavakon és lecserélni azokat (kivétel nélkül) egy linkre. Pl.:
első szó: elsoszo
csere erre: <a href='search.php?stype=d&stext=elsoszo' target='_blank'>elsoszo</a>
A segítségeteket előre is köszönöm!
■ Nézelődtem az oldalon, de nem találtam ilyen témát, így nyitnék egyet. Bocsi, ha már meg lett tárgyalva!
A következő problémában szeretném a segítségeteket kérni. Adott egy szöveg, aminek a szavaiból linket kellene csinálni. Tehát a függvénynek végig kellene mennie a szavakon és lecserélni azokat (kivétel nélkül) egy linkre. Pl.:
első szó: elsoszo
csere erre: <a href='search.php?stype=d&stext=elsoszo' target='_blank'>elsoszo</a>
A segítségeteket előre is köszönöm!
szó
...
preg_replace_callback
ékezet
$ujszoveg =
Ha van minimális szó hossz követelmény, akkor + helyett használd a {} ismétlőt.
Megjegyzés, hogy a preg_replace() nem működik helyesen multibyte karakteres szövegen.
Még egy megjegyzés, hogy HTML-ben a & jelet entitásként kell írni. Hacsak a szöveged nem lesz további feldolgozásnak alávetve, akkor már a preg_replace()-be ajánlatos entitásként tenni be őket.
...
Igen, ezt láttam. :S A "magyar" betűkkel rendelkező szavaknál baj van. Azzal lehet esetleg valamit kezdeni?
Amúgy köszi az eddigi választ.
Nem jó
\w
ezért nem ajánlanám a használatát.[:alpha:]
és[:alnum:]
kifejezésekre. De legalább u módosító esetén nem hibáznak utóbbiak olyan nagyot, épp csak nem találják meg aző
,ű
karaktereket....
Megoldás
...
Definiáld
makeLinks
, vagy bármi más callback függvénynek, mégpedig minden egyes találatot jelentő tömböt. Nem tudom mi mást szeretnél csinálni....
Nem szép megoldás
...
explode
jelek
,.;?:!
? És még nem is soroltam fel, csak a töredékét. Az ékezetes karakterekre is ott van a megoldásom fentebb, és tökéletesen működik.Na jó, trim() :)
Nem jó
Nem egyszerűbb és