Ik probeer een functie te maken die de inhoud van een textarea controleert op een aantal waarden zie erin moeten zitten. Uiteindelijk zal ik dus de haystack (textarea.value) doorzoeken op een aantal needles (opgesomd in een array). Zover ben ik nog niet: ik heb een probleem met het zoeken naar een exacte string.
Hierboven zoek ik dus of de string "een" voorkomt in de textarea. De eerste manier die ik bedacht (nu uitgecomment) werkte niet - weet nog niet waarom. De tweede manier werkt wel - "een" wordt gevonden. Probleem is: als ik de value van de textarea verander in "Dit is eene string", dan zegt 'ie ook "een" gevonden te hebben - als deel van eene natuurlijk. Ik wil echter alleen zoeken of de exacte waarde van needle gevonden wordt. Een soort PHP strstr()-kloon eigenlijk. Wie helpt mij op weg?
P.S. Wat nadere uitleg: ik ben bezig met het maken van een stukje weblog software (in PHP), waar ik in een textarea de layout kan aanpassen. PHP vervangt een aantal template {tokens} door de goede content, zoals {footer} door "copyright blablabla ...". Als ik het template heb aangepast, wil ik voordat het verzonden wordt, controleren of een aantal essentiele tokens ({body}, {footer}, {login}, etc...) toch wel in de template staan om latere fouten bij het renderen van de site te voorkomen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| <script>
function check_tpl()
{
var haystack = document.getElementById('tpl').value;
var needle = 'een';
var k = needle.length;
//if (haystack.substr(0,k) == needle)
if (haystack.indexOf(needle) != -1)
alert('needle gevonden in haystack!');
}
</script>
<form>
<textarea id="tpl">Dit is een string</textarea>
<input type="button" onclick="check_tpl()" value="check template">
</form> |
Hierboven zoek ik dus of de string "een" voorkomt in de textarea. De eerste manier die ik bedacht (nu uitgecomment) werkte niet - weet nog niet waarom. De tweede manier werkt wel - "een" wordt gevonden. Probleem is: als ik de value van de textarea verander in "Dit is eene string", dan zegt 'ie ook "een" gevonden te hebben - als deel van eene natuurlijk. Ik wil echter alleen zoeken of de exacte waarde van needle gevonden wordt. Een soort PHP strstr()-kloon eigenlijk. Wie helpt mij op weg?
P.S. Wat nadere uitleg: ik ben bezig met het maken van een stukje weblog software (in PHP), waar ik in een textarea de layout kan aanpassen. PHP vervangt een aantal template {tokens} door de goede content, zoals {footer} door "copyright blablabla ...". Als ik het template heb aangepast, wil ik voordat het verzonden wordt, controleren of een aantal essentiele tokens ({body}, {footer}, {login}, etc...) toch wel in de template staan om latere fouten bij het renderen van de site te voorkomen.
[ Voor 68% gewijzigd door Reveller op 28-12-2004 00:33 ]
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."