ohmygod Posted July 13, 2006 Report Share Posted July 13, 2006 Manuprāt man vajag pavisam elementāru lietu. No liela, gara teksta izdzēst konkrētu daļu. No viena vārda līdz kādam citam vārdam. Kaut vai 500 rindas viņiem būtu starpā. tipa izdzēst tekstu starp vārdiem "sun" un "varde". Raku pa manuāli, mēģināju visādi pats rakstīt, meklēju visādus piemērus pa tutoriāļiem - nekā... Damnit. Tam takš nevajadzētu būt tik sarežģiti ne? savus testa variantus nelikšu, jo viņu bija DAAAUUUDZ un neviens nestrādāja. Pilnīgi garām visdrīzāk visi! Link to comment Share on other sites More sharing options...
v3rb0 Posted July 13, 2006 Report Share Posted July 13, 2006 $string = "text text text text text sun sitais ir sliktais texts, sito nevajag radit varde text text text"; echo preg_replace("/(sun)(.*)(varde)/", "$1$3", $string); $1 - sun $2 - texts pa vidu $3 - varde Link to comment Share on other sites More sharing options...
ohmygod Posted July 13, 2006 Author Report Share Posted July 13, 2006 Nu jā - vienā rindā šitāds strādā, bet ja teksts ir daudzās rindā - nedarbojas :/ un vārdi, starp kuriem teksts jādzēš ir dažādās rindās. Link to comment Share on other sites More sharing options...
v3rb0 Posted July 13, 2006 Report Share Posted July 13, 2006 "/(sun)(.*)(varde)/s" Link to comment Share on other sites More sharing options...
bubu Posted July 13, 2006 Report Share Posted July 13, 2006 Lai darbotos uz vairākām rindām paskaties pregu modifieri, tur bija multiline, ja nemaldos, m burts. Link to comment Share on other sites More sharing options...
ohmygod Posted July 13, 2006 Author Report Share Posted July 13, 2006 big thnks!! (: Link to comment Share on other sites More sharing options...
ohmygod Posted July 13, 2006 Author Report Share Posted July 13, 2006 Tākš - vajag vēl biku helpu ir teksts, šoreiz 1 rindā. Piemēram HTML kods. <font>sunc</font> <b>kakis</b> $up= preg_replace("/(<)(.*)(>)/", '$2',$txt); mana domā bija aizvākt tagus, nu dajebkādus tagus. A jams novāc tikai pirm atverošo tagu un pēdējo atverošo tagu. Neņemot vērā pārējās sakritības. tb mazās sakritības... Paliek: font>sunc</font> <b>kakis</b a mana doma bija: sunc kakis Link to comment Share on other sites More sharing options...
bubu Posted July 13, 2006 Report Share Posted July 13, 2006 Modifieris Ungreedee (U, ja nemaldos). Link to comment Share on other sites More sharing options...
Delfins Posted July 13, 2006 Report Share Posted July 13, 2006 (edited) Imho, /(<(.+)>)/ jeb strip_tags() Edited July 13, 2006 by Delfins Link to comment Share on other sites More sharing options...
blackhalt Posted July 14, 2006 Report Share Posted July 14, 2006 Ar strip_tags, bet tur tagu zupā var būt daži gļuki http://lv.php.net/manual/en/function.strip-tags.php Link to comment Share on other sites More sharing options...
ohmygod Posted July 14, 2006 Author Report Share Posted July 14, 2006 Tagi bija tikai kā piemērs, lai saprastu, ko es domāju. Link to comment Share on other sites More sharing options...
john.brown Posted July 14, 2006 Report Share Posted July 14, 2006 (edited) A priekš kam tik dīvains regex? $str = '<font>sunc</font> <b>kakis</b>'; $str = preg_replace('/<.*?>/','',$str); Jā, un pie pirmā, suni un vardi. Korekti būtu šitā: /(sun)(.*?)(varde)/s Pretējā gadījumā, viņš tev tekstā atradīs pirmo "sun" un pēdējo "varde", un aizvāks visu pa vidu, neskatoties uz to , ka tev tur ir vēl "sun" un "varde". T.b. teksts "some text sun text to remove varde some text sun text to remove varde some text" tev kļūs par "some text sunvarde some text" , nevis gaidīto "some text sunvarde some text sunvarde some text" . Edited July 14, 2006 by john.brown Link to comment Share on other sites More sharing options...
Recommended Posts