Flevostrand rulez! - It's a bird NO It's a plane NO IT IS SUPER SNACKMAN
Kan je niet eerst de hele zin omzetten in kleine letters en dan de positie van koe bepalen, dan van de oude string op die positie de stuff veranderen?Op zaterdag 20 oktober 2001 10:17 schreef Super Snackman het volgende:
Hiya all,
ik wil graag wat meer weten over reguliere expressies. Ik weet al hoe ik (eindige) automaten kan maken, waar lees ik een mooi verhaal hoe ik zo'n automaat omzet in een reguliere expressie.
En dan nog iets:
Ik wil in de zin: 'de KoE loopt in de wei', gegeven een woord, dat woord veranderen. Hoe doe ik dat:
Het moet dus (volgens mij) iets zijn van:
$new = ereg_replace($pattern, $vervang, $zin);
Maar het patroon moet alle mogelijkheden van koe afvangen.
Dus kOe, KOe etc. En in de vervanging moet de koe in het zelfde formaat hoofd/kleine letters blijven staan. Wie wil mij helpen?
't is maar een idee...
Als de oorspronkelijk zin is:
de KoE loopt in de wei
Dan moet de uiteindelijke zin (bijvoorbeeld) worden:
de <h1>KoE</h1> loopt in de wei
Dus als ik alles in kleine letters omzet, raak ik de (soms benodigde) hoofdletters kwijt
de KoE loopt in de wei
Dan moet de uiteindelijke zin (bijvoorbeeld) worden:
de <h1>KoE</h1> loopt in de wei
Dus als ik alles in kleine letters omzet, raak ik de (soms benodigde) hoofdletters kwijt
Flevostrand rulez! - It's a bird NO It's a plane NO IT IS SUPER SNACKMAN
<?
$zin = "De KoE loopt in de wei";
$hilt = "koe";
echo eregi_replace($hilt, "<b>koe</b>", $zin);
?>
Dat heb ik tot nu toe, het enige wat ik moet weten is, wat moet ik tussen <b> en </b> zetten om KoE in de uitvoer te krijgen.
$zin = "De KoE loopt in de wei";
$hilt = "koe";
echo eregi_replace($hilt, "<b>koe</b>", $zin);
?>
Dat heb ik tot nu toe, het enige wat ik moet weten is, wat moet ik tussen <b> en </b> zetten om KoE in de uitvoer te krijgen.
Flevostrand rulez! - It's a bird NO It's a plane NO IT IS SUPER SNACKMAN
Zo bedoel ik het niet. iets van:Op zaterdag 20 oktober 2001 10:22 schreef Super Snackman het volgende:
Als de oorspronkelijk zin is:
de KoE loopt in de wei
Dan moet de uiteindelijke zin (bijvoorbeeld) worden:
de <h1>KoE</h1> loopt in de wei
Dus als ik alles in kleine letters omzet, raak ik de (soms benodigde) hoofdletters kwijt
$StringLaag = $OudString
Dan $StringLaag in kleine letters omzetten, de positie van koe bepalen.
Dan in $OudString op de positie van koe (waar dus KoE ofzo staat) eruithalen, als $koe definiëren, op de positie van koe in de string </H2> inzetten, dan $koe terugzetten erin, dan op de positie van koe <H2> zetten.
Gelukt 
<?
$zin = "De KoE loopt in de wei";
$hilt = "koe";
echo eregi_replace("(" . $hilt . ")", "<b>\\1</b>", $zin);
?>
<?
$zin = "De KoE loopt in de wei";
$hilt = "koe";
echo eregi_replace("(" . $hilt . ")", "<b>\\1</b>", $zin);
?>
Flevostrand rulez! - It's a bird NO It's a plane NO IT IS SUPER SNACKMAN
Maar kan iemand me iets vertellen over hoe ik een automaat in een patroon omzet?
BTW dit is wat ik uiteidenlijk heb gemaakt, een highlight functie. Is al vaker gemaakt, maja ik wilde het toch beetje zelf doen
BTW dit is wat ik uiteidenlijk heb gemaakt, een highlight functie. Is al vaker gemaakt, maja ik wilde het toch beetje zelf doen
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| <? function highlight($query, $zin) { while (strpos($query, " ")) //Zolang er dubbele spaties in de highlight-woorden zitten { $query = eregi_replace(" ", " ", $query); } //Verwijder die dubbele spaties $highlights = explode(" ", $query); //Gooi de te highlighten woorden in een array, door te scheiden //op spatie for ($i = 0; $i < count($highlights); $i ++) //Tel van 0 tot het aantal woorden in de array, verhoog met 1 { $zin = eregi_replace("(" . $highlights[$i] . ")", "<b>\\1</b>", $zin); } //Maakt het te highlighten woord dik. return $zin; //Geef de gehighlighte zin terug. } ?> |
Flevostrand rulez! - It's a bird NO It's a plane NO IT IS SUPER SNACKMAN
een automaat in een patroon? wat bedoel je daarmee?Op zaterdag 20 oktober 2001 10:59 schreef Super Snackman het volgende:
Maar kan iemand me iets vertellen over hoe ik een automaat in een patroon omzet?
[edit]bedoel je dat je wilt weten hoe de regex-engine zelf werkt?
die while is niet nodig, omdat eregi_replace gewoon alles in 1 keer vervangt.BTW dit is wat ik uiteidenlijk heb gemaakt, een highlight functie. Is al vaker gemaakt, maja ik wilde het toch beetje zelf doen
PHP:
1 2 3 4 5 6 <? function highlight($query, $zin) { while (strpos($query, " ")) { $query = eregi_replace(" ", " ", $query); } ?>
Pagina: 1