Reguliere Expressies
ik ben nu momenteel bezig om van heel gegevens die ik in mijn database heb staan voor mijn spel een array te maken.
Maar nu stuit ik op een probleem.
hier zijn 5 voorbeeldlijnen van de INSERTS die ik met behulp van regexp omzet tot arrays.
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?
"1, 3, 'Hammer', 'The Hammer is a/an Melee Weapon Item. The Hammer is a Melee Weapon A small, lightweight tool used in the building industry. Can also be used as a weapon.', 75, 50, 1);
"2, 3, 'Baseball bat', 'The Baseball bat is a/an Melee Weapon Item. The Baseball bat is a Melee Weapon A long weapon made of wood, it will make quite a blow to your enemies', 200, 130, 1);
"3, 3, 'Crow bar', 'The Crow bar is a/an Melee Weapon Item. The Crow bar is a Melee Weapon Used for opening crates and large boxes. Can be a great weapon as it has a sharp hook-like feature at the end of it.\r\n', 400, 250, 1);
"4, 4, 'Glock 18', 'The Glock 18 is a/an Gun Item. The Glock 18 is a Secondary Weapon The Glock 18, a lightweight, semi-automatic weapon capable of holding 20 rounds in one clip. ', 400, 270, 1);
"5, 4, 'Raven MP25', 'The Raven MP25 is a/an Gun Item. The Raven MP25 is a Secondary Weapon The Raven MP25 holds 17 rounds per clip. It can deliver powerful, quick blows to the opponent when in action. ', 550, 370, 1);
?>
"1, 3, 'Hammer', 'The Hammer is a/an Melee Weapon Item. The Hammer is a Melee Weapon A small, lightweight tool used in the building industry. Can also be used as a weapon.', 75, 50, 1);
"2, 3, 'Baseball bat', 'The Baseball bat is a/an Melee Weapon Item. The Baseball bat is a Melee Weapon A long weapon made of wood, it will make quite a blow to your enemies', 200, 130, 1);
"3, 3, 'Crow bar', 'The Crow bar is a/an Melee Weapon Item. The Crow bar is a Melee Weapon Used for opening crates and large boxes. Can be a great weapon as it has a sharp hook-like feature at the end of it.\r\n', 400, 250, 1);
"4, 4, 'Glock 18', 'The Glock 18 is a/an Gun Item. The Glock 18 is a Secondary Weapon The Glock 18, a lightweight, semi-automatic weapon capable of holding 20 rounds in one clip. ', 400, 270, 1);
"5, 4, 'Raven MP25', 'The Raven MP25 is a/an Gun Item. The Raven MP25 is a Secondary Weapon The Raven MP25 holds 17 rounds per clip. It can deliver powerful, quick blows to the opponent when in action. ', 550, 370, 1);
?>
Wat ik nu graag wil doen is het volgende:
regel 1 begint met: "1, 3, 'Hammer',
regel 2 begint met: "2, 3, 'Baseball bat',
enz enz
nu wil ik graag tussen , 3, wil ik iets vervangen bij alle regels. dit moet worden:
"1" => array(
"itemtype" => " 3, 'Hammer',
Dit wil ik die enter is het probleem niet want dat doe ik gewoon met \r
Maar het 2e nummer is niet altijd 3 dus ik moet een het zo hebben dat hij dit stuk leest:
"1(, 3, ')Hammer',
De tekens tussen () dus...
Maar omdat het niet overal een 3 is wil ik dus graag weten hoe ik via reguliere expressies ook die andere lijnen kan meenemen met ALLES VERVANGEN.
zoals \r een nieuwe rij is weet ik dat dat ook een manier voor bestaat.
Ik hoop dat ik de vraag goed heb uitgelegt en dat jullie begrijpen wat ik bedoel.
Mvg,
Tim Kampherbeek
Nee, niet echt. Geef eens een paar voorbeelden van wat het nu is en wat het dan zou moeten worden?
Code (php)
1
2
3
2
3
<?php
preg_replace("/, [0-9]+, '/", 'wat er voor in de plaats moet komen', $string);
?>
preg_replace("/, [0-9]+, '/", 'wat er voor in de plaats moet komen', $string);
?>
Zoiets dus? Of heb ik nou de verkeerde vraag uit de proza gehaald? :-)
Gewijzigd op 01/01/1970 01:00:00 door Rens nvt
Quote:
En waar is dat dan zinnig voor? Is daar niet een handigere manier voor?hier zijn 5 voorbeeldlijnen van de INSERTS die ik met behulp van regexp omzet tot arrays.
Persoonlijk snap ik niet dat je ze niet gewoon insert in de database en ze daarna gewoon als records opvraagt? Bespaart je een hoop moeite en ook een hoop mogelijke fouten die er in sluipen.
Misschien dit:
In het nederlands:
Elke replace moet voorafgegaan worden door een string met een getal [(?<=\d+)].
Daarna volgt een komma + spatie, daarna een getal en daarna weer een komma [, \d+,].
En het te vervangen deel wordt gevolgd door een apostrof met een tekstcharacter A-Z er na [(?=\'\w+)]
Quote:
In alle gevallen van a/an is het in dit geval `a` :)a/an Gun