Autor | Zpráva | ||
---|---|---|---|
Michal Švarc Profil * |
#1 · Zasláno: 22. 5. 2006, 16:24:54
Lze najít a okleštit nahrazením, za předpokladu libovolné, předem neznámé části textu?
Potřeboval bych nahradit část textu jiným, ale zachovat v části nahrazeného textu text původní (nalezený). Lze to? Zkoušel jsem tohle (a to samo nelze): $IPkode = str_replace('[0-9]{1,3}','<FONT CLASS=PocetText>[0-9]{1,3}</FONT>', $cisloIP); Díky za jakoukoliv radu |
||
roberta Profil |
#2 · Zasláno: 22. 5. 2006, 16:39:41
ide to, len musíš presne zadefinovať, že čo vlastne chceš nahradiť čím a ešte by som ti odporučil prečítať si niečo o funkcii
str_replace pravdepodobne tam máš poprehadzované parametre |
||
djlj Profil |
#3 · Zasláno: 22. 5. 2006, 17:40:06
str_replace, pokud vím, nepracuje s regulárními výrazy...
|
||
Retal Profil |
#4 · Zasláno: 22. 5. 2006, 17:59:11
Potřebuješ regulární výrazy (preg_replace). Když budeš konkrétnější v tom, čeho chceš docílit, třeba ti někdo pomůže i s jejich sestavením.
|
||
Časová prodleva: 6 dní
|
|||
Michal Švarc Profil * |
#5 · Zasláno: 28. 5. 2006, 23:41:42
Dobře tedy: Mám v souboru uloženy IP adresy, a chci, aby se mi vypisovaly v čitelnější podobě, tedy tečky jinou barvou než čísla-bohužel jsem zjistil, že toto
$IPkode = str_replace('.','<FONT CLASS=PocetText>.</FONT>', $cisloIP);sice vytvoří potřebný kód na výstupu, ale tečky barvu nemění (přesto že v třídě PocetText je nastavena jiná barva). Zato, když adresu rozložím na tečky a čísla a aplikuji změnu barvy na číslice, funguje to. Nicméně se snažím najít způsob, kterým to tam vložit snadněji než $IPkode = '<FONT CLASS=PocetText>'.Part1.'</FONT>.<FONT CLASS=PocetText>'.Part2.'</FONT>.<FONT CLASS=PocetText>'.Part3.'</FONT>.<FONT CLASS=PocetText>'.Part4.'</FONT>'; |
||
koudi Profil |
#6 · Zasláno: 28. 5. 2006, 23:50:48
<font class sem teda ještě neviděl :)
Jestli ti to vytvoří kód, který chceš, ale nefunguje to, hledal bych chybu jinde... |
||
krteczek Profil |
#7 · Zasláno: 29. 5. 2006, 10:32:44
parametry patří do uvozovek
a napsal bych to někal takhle:
krteczek |
||
Časová prodleva: 3 dny
|
|||
Michal Švarc Profil * |
#8 · Zasláno: 1. 6. 2006, 07:51:21
Reakce na koudi
Jestli ti to vytvoří kód, který chceš, ale nefunguje to, hledal bych chybu jinde... Budeš se možná divit ale s textem to funguje normálně. Akorát s tou samostatnou tečkou je trochu problém. Pokud chceš tvrdit, že je lepší DIV, není: přidává konce řádek tam kam nechci a taky se mi nechce jít do složitějších konstrukcí typu <SPAN><DIV>text</DIV></SPAN>, a proč vlastně? Když je tu FONT |
||
Michal Švarc Profil * |
#9 · Zasláno: 1. 6. 2006, 08:01:18
reakce na krteczek
Zkusil jsem, co navrhuješ: $ip='<b class=\"red\">'.str_replace(".",'</b><b class=\"blue\">.</b><b class=\"red\">'.'</b>',$ip); a zkusil sem to i s FONT a uvozovkami $ip='<FONT class=\"red\">'.str_replace(".",'</FONT><FONT class=\"blue\">.</FONT><FONT class=\"red\">'.'</FONT>',$ip); a ani jedno nefunguje. |
||
krteczek Profil |
#10 · Zasláno: 1. 6. 2006, 09:18:57
omlouvám se, byla tam chyba:
tento kód tak jak je je odskoušený, a plně funkční, nedávej před uvozovky zpětná lomítka, texty jsou uzavřené apostrofy tak to není třeba. krteczek |
||
rabbit Profil |
#11 · Zasláno: 1. 6. 2006, 11:43:29 · Upravil/a: rabbit
To Michal Švarc:
Ten tag <font> se opravdu nedoporučuje používat. A to proto, že by se měl oddělovat obsah od formy. Například v dokumentu máš nadefinovaný nadpis (h1, h2 ...), odstavec, atd. V nalinkovaném css souboru pak máš nadefinováno, že nadpis h1 bude mít font arial, velikost 26px, červenou barvu atd. Když se rozmyslíš, že chceš místo Arial mít Verdanu, změníš to v tom css souboru a všechny stránky, které ten soubor includují se budou zobrazovat jinak. Ušetříš si zpoustu práce. Konkrétně tag <font> nemá vůbec smysl používat, je to přežitek. Tag <b> je také MS hloupost, když, tak <strong>. Obojí ale definuje tučný text, což je opět forma, né smysl. Budeš se divit, ale právě tagy <div> a <span> by se měly ve spojitosti s css používat. Proč? Protože jako jediné nemají samy o sobě definovaný význam. Rozdíl v nich je ten, že <div> je blokový (!!!) element (proto se Ti tam taky vráží ten konec řádku), zatímco <span> je inline element. Nejčistší řešení by asi vypadalo nějak takto:
V css stylu bys pak měl nadefinováno:
|
||
krteczek Profil |
#12 · Zasláno: 1. 6. 2006, 12:27:11
OT:
rabbit: tag: <b> není ani přežitek ani hloupost má svůj semantický význam stejně jako třeba tag <menu> rozdíl: strong: to je zdůrazněný text b: je tučný text jistě netřeba vysvětlovat rozdíl mezi zdurazněným a tučným... tagy div a span, kterými spousta stránek překypuje nemají žádný semantický význam, jen jsou to __bloky__ obsahující text (span je řádkový)... ale debata o významu těchto prvků nepatří do této kategorie(php) krteczek |
||
rabbit Profil |
#13 · Zasláno: 1. 6. 2006, 13:18:10
OT:
krteczek ok, máš pravdu v tom, že <b> a <strong> není to samé (už jsem si to našel ;) Michalovi radíš použít tag <b> ... já ale nikde nevidím požadavek na tučný text. ;-) |
||
Michal Švarc Profil * |
#14 · Zasláno: 2. 6. 2006, 08:32:17
Ach, Sorry. Já měl blbě css. Na tak jednoduhé chyby přijdu vždycky až na konec.
To rabbit: To se dá vyřešit absolutní adresou. Tady jsem zkusil použít styl "http://www.webzdarma.cz/webzdarma.css", a jde to bez problémů ;-). Ale i tak díky za pomoc. |
||
krteczek Profil |
#15 · Zasláno: 3. 6. 2006, 11:54:36
rabbit: no nechtělo se mi vypisovat <span> <b> je kratší ;-), a lépe se to potom čte (to tučné)
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0