ok en neem nu dat ik die waarde van het eerste of laatste teken wil vervangen hoe gaat dat dan in zen werk, ook al staan er verder in de string dezelfde tekens die niet weg mogen dus enkel het eerst of het laatste verwijderen?
<?
$string = "abcdef"; // set de string
$eerste = substr($string, 1); // haal eerste teken op
$laatste substr ($string, -1); // haal laatste teken op
$string = str_replace($eerste, "nieuw teken", $string); // vervang het eerste teken
$string = str_replace($laatste, "nieuw teken", $string); // vervang het laatste teken
?>
<?php
$sString = 'abcaf'; // string
$sString{0} = 'X';
// als ik hier nu str_replace() had gedaan, was de string niet Xbcaf, maar XbcXf en dat is niet de bedoeling.
echo $sString; // Xbcdf
?>
<?php
$sString='abcaf';// string
$sString{0}='X';
// als ik hier nu str_replace() had gedaan, was de string niet Xbcaf, maar XbcXf en dat is niet de bedoeling.
<?php
$sString = substr($sString, 1); // eerste teken weg
unset($sString{0}); // eerste teken weg
unset($sString{4}); // vijfde teken weg
$sString = substr($sString, -1); // laatste teken weg
unset($sString{strlen($sString)}); // laatste teken weg
?>
Je kan niet delen van een string unsetten lijkt mij... unset() gebruik je voor variabelen of een deel van een array, maar nooit voor een deel van een variabele.
Maak gewoon een nieuwe string met behulp van je bestaande string en substr() - dit moet te doen zijn.
Anders geef je een voorbeeld van wat je precies probeert te bereiken (invoer en uitvoer) ?
Dat maakt het voor ons wat makkelijker om te bedenken wat er moet gebeuren.
Wel het zit zo, het gaat om een webshop en per artikel dat je bestelt houdt het script in een string het volgende bij id(aantal) bv= 5(6) zijn er meerdere artikelen dan splitst hij deze met een koppelteken - dus 5(6)-7(8) probleem is nu als de klant in de winkelwagen 1 product verwijdert (met de str_replace) dat je met dat koppelteken blijft zitten dus als 5(6) weg is blijft er -7(8) over of omgekeerd als 7(8) weggaat blijft 5(6)- over en dit geeft een fout in men script. Ik lees de string op de volgende manier uit:
$artikelen = explode("-", $mandje);
for ($i = 0; $i < count($artikelen); $i++) {
$artikel = $artikelen[$i];
if (ereg("^([0-9]+)\(([0-9]+)\)$", $artikel, $regs)) {
Ondertussen al opgelost via array's:
eerst explode("-", $mandje);
dan via array_search($string, $array);
dan unset
en dan terug naar een string via implode.