Gigantische replace

Pagina: 1
Acties:

  • yootje
  • Registratie: December 2002
  • Laatst online: 03-05 09:44
Mijn vraag is aardig kort, maar krachtig. Ik heb de volgende stuk code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?
if ($var3['blaat1'] >= 200)
{
?>
<tr>
<td class="points"  width="100">
Blaatn</td>
<td class="points"  width="100">
670.000
</td>
<td class="points"  width="100">
<b>
<?
$max = $var['geld']/670000;
echo floor($max);
?>
</b>
</td>
<td class="points"  width="100">
<? echo $var2['blaat2']; ?>
</td>
<td class="points"  width="100">
<input name="blaat2" size="2" class="procent" value="0" maxlength="30">
</td>
</tr>
<?
} 
?>

Nu wil ik alles vervangen door niks, alleen ik wil 670000, $var2['blaat2'] en blaat2 overhouden en het liefst in de volgende volgorde:

blaat2 $var2['blaat2'] 670000

Iemand enig idee hoe ik dit doe? Ik heb 100 soortgelijke codes die ik allemaal moet strippen, wordt me een beetje teveel handwerk en zo wordt het nog leuker/leerzamer ook :)

  • b19a
  • Registratie: September 2002
  • Niet online
Je zult een logica in de templates moeten zoeken waarop je vervolgens een regular expression gaat maken. Probeer je eens te verdiepen in regular expressions; daar is het leerzame gedeelte van je vraag! ;)

  • guardian-spirit
  • Registratie: Februari 2004
  • Laatst online: 30-03-2023
Ik moest op een gegeven moment ook afwijkende S&R's doen...

Met "handy file search and replace" heb ik behoorlijk veel kunnen doen.

Er zit als het goed is een bijbehorende helpfile, maar ik heb zelf mijn eigen help text gemaak, ik heb niet zo een zin om het helemaal op te maken het is een directe copy en paste...t:

=========================================================================

ALS JE EXPRESSIES GEBRUIKT DAN MOET JE IN DE "REPLACE" VELD DE CHARACTERS ZONDER DE "\" WEERGEVEN!!! DUS GEEN EXPRESSIES IN "REPLACE" VELD


=========================================================================
=========================================================================


HTML kleuren #aaddeeff vervangen:

Het gemeenschappelijke teken "#" icm de volgende tekens a t/m f, A t/m F, 1 t/m 9.
dus je zoekt naar # icm [a-f] [A-F] [1-9] wat uiteindelijk wordt:

\#{[0-9]|[A-F]|[a-f]}+ "/" = zoek de character die na deze teken volgt "{}" = samenvoegen "+" = herhaal vorige ????


\<\/a\>{[0-9]}+ => ALLE GETALLEN NA "</a>" verwijderen!!! zoals "</a>342145" etc


=========================================================================

- mask op *.*
- "case sensitive search" aanvinken (hoeft niet) EN "regular expressions" aanvinken (DEZE WEL!!!)


=========================================================================

alles tussen haakjes "(" .... ")" verwijderen

{\(}{.#}{\)}

=========================================================================

tijden verwijderen zoals "16:15" of "1:32"

{[0-9]}+\:{[0-9]}+

=========================================================================
verwijderen van normale tekst tussen HTML tags (...test.txt"> NORMALE TEKST </a>)
verwijdering op txt"> + alles hiertussen + </ (kan ook </a> zijn)
dus:

{txt\"\>}{.#}{\<}

LETOP VERVANGEN DOOR => txt"><


verander txt in ander extensie waarnaar de <a href...> verwijst


{\<\/a\>}{.#}{\<\/tr\>} = </a> EN ALLES WAT HIERTUSSEN STAAT </tr> LETOP!!! zet de </a></tr> precies zo terug in de "replace with" veld!!!


=========================================================================
met onderstaande methode
{txt\"\>}{.#}{\<}

het onderstaande combinatie verwijderen, voorwaarde is dat er niks direct NA "</table>" komt!
dus precies zoals hieronder aangegeven!!

</table>

</body></html>


uiteindelijk:

{\<\/table\>}{.#}{\<\/html\>}

=========================================================================

verwijder <tr> tag

\<tr\>

verwijder </tr> tag

\<\/tr\>


verwijder <tr> en </tr> tags

{\<\/tr\>}|{\<tr\>}


completer TD en TR: {\<\/tr\>}|{\<tr\>}|{\<td\>}|{\<\/td\>}

| = is een "or" teken dus <tr> OF </tr> denk in boolean dus beiden worden verwijdert!!!


=========================================================================


de <td align="left"> tag verwijderen
\<td align\=\"left\"\>

de complete kop vanuit een dirhtml gegenereerde html tekst verwijderen
{\<\!DOCTYPE}{.#}{border\=\"0\"\>}

2e manier om de kop te verwijderen:
{\<\!DOCTYPE}{.#}{Filename\<\/b\>\&nbsp\;\<\/td\>\<\/tr\>}


3e manier:
{\<\!DOCTYPE}{.#}{Filename\<\/b\>}

verwijderen van &nbsp:
\&nbsp\;

=========================================================================


Als je alles wilt veranderen tussen <BODY><HR> {BODY\>}{.#}{\<HR}

=========================================================================
=========================================================================


In principe is het met expressies heel ver te gaan qua search en replace.... tis bijna een aparte vak op school / studie...

In word en in notepad kan je met de vervangen optie ook expressies gebruiken, ik weet alleen niet of de bovenstaande ook helpen.

[ Voor 24% gewijzigd door guardian-spirit op 29-06-2005 01:57 ]


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 05-05 22:57

Creepy

Tactical Espionage Splatterer

yootje schreef op woensdag 29 juni 2005 @ 01:05:
Mijn vraag is aardig kort, maar krachtig. ... Iemand enig idee hoe ik dit doe?
En wat heb je zelf al geprobeerd? Wat lukte daar niet mee? Kreeg je foutmeldingen? Zo ja welke? Heb je P&W FAQ - Regular expressions al eens bekeken?

@guardian-spirit: staat er in je post ook nog info die in de FAQ niet te vinden is? ;)

[ Voor 11% gewijzigd door Creepy op 29-06-2005 09:13 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • yootje
  • Registratie: December 2002
  • Laatst online: 03-05 09:44
Creepy schreef op woensdag 29 juni 2005 @ 09:13:
[...]

En wat heb je zelf al geprobeerd? Wat lukte daar niet mee? Kreeg je foutmeldingen? Zo ja welke? Heb je P&W FAQ - Regular expressions al eens bekeken?

@guardian-spirit: staat er in je post ook nog info die in de FAQ niet te vinden is? ;)
Mijn probleem is vooral dat ik geen enters kan verwijderen. Eigenlijk is het enige wat ik wil:

alles, inclusief enters, tabs, enz. $var2[' alles '] alles, inclusief enters, tabs, enz.

vervangen door

$var2[' alles ']

en:

alles, inclusief enters, tabs, enz. $var['geld']/ cijfers ; alles, inclusief enters, tabs, enz.

door

$var['geld']/ cijfers ;

[ Voor 4% gewijzigd door yootje op 29-06-2005 10:14 ]


  • Cavorka
  • Registratie: April 2003
  • Laatst online: 27-03-2018

Cavorka

Internet Entrepreneur

The RegEx Coach

Ik blijf hem gewoon net zo lang spammen in topics todat hij in de FAQ komt. :Y)

[ Voor 42% gewijzigd door Cavorka op 29-06-2005 10:28 ]

the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.


  • guardian-spirit
  • Registratie: Februari 2004
  • Laatst online: 30-03-2023
Creepy schreef op woensdag 29 juni 2005 @ 09:13:
[...]

En wat heb je zelf al geprobeerd? Wat lukte daar niet mee? Kreeg je foutmeldingen? Zo ja welke? Heb je P&W FAQ - Regular expressions al eens bekeken?

@guardian-spirit: staat er in je post ook nog info die in de FAQ niet te vinden is? ;)
ai..ik wist niet dat dit in de faq opgenomen was...het bovenstaande heb ik 2jr geleden moeten opzoeken ik heb me de ***** gezocht op google toen... en nu ik zie ik de links uit het niets hier naar boven schieten en in de faq... :/

@yootje je kan elke character combinatie vervangen / verwijderen mbv expressies, ook ENTERS en SPATIES. Soms kan je een ingewikkelde verwijdering / vervanging versimpelen door het in 2 of 3 keer te doen. (dus 3 simpele expressies ipv 1 ingewikkelde...). Faq's / tuts doorlopen en je bent een heel eind.

  • yootje
  • Registratie: December 2002
  • Laatst online: 03-05 09:44
Ik zal het even wat duidelijker maken.

Ik heb in een bestand 100 keer een soortgelijke code. Van al die code wil ik alleen maar alle $var2['blaat2'] hebben. De rest moet weg. Dit kijg ik met regular expressions maar niet voor elkaar.

  • yootje
  • Registratie: December 2002
  • Laatst online: 03-05 09:44
Ik doe bijvoorbeeld ...$var2['.....']..... als test en dat laat ik vervangen door $var2['.....']

Dat kan hij dan niet vinden, terwijl een . staat voor elk character. Kan iemand me op weg helpen?

  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
Regular Expressions werken trouwens standaard per regel, je moet even zoeken hoe dit met meerdere regels gaat werken.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Cavorka schreef op woensdag 29 juni 2005 @ 10:25:
The RegEx Coach

Ik blijf hem gewoon net zo lang spammen in topics todat hij in de FAQ komt. :Y)
offtopic:
Stop maar dan, want hij staat er nu in. :+

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1