login  Naam:   Wachtwoord: 
Registreer je!
 Forum

left

Offline cloudstrife - 16/10/2004 21:31
Avatar van cloudstrifePHP beginner Wat gebruik je in php om het eerste en let laatste teken van een string te kennen? In vb doe je dit met left() en right() maar in php?

11 antwoorden

Gesponsorde links
Offline Mr_Dark - 16/10/2004 21:49 (laatste wijziging 16/10/2004 21:50)
Avatar van Mr_Dark Lid zo ...
  1. <?
  2.  
  3. $string = "abcdef";
  4.  
  5. // De eerste
  6. echo substr ($string, 1);
  7.  
  8. // De laatste
  9. echo substr ($string, -1);
  10. ?>
Offline cloudstrife - 16/10/2004 22:18
Avatar van cloudstrife PHP beginner 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?
Offline Rens - 16/10/2004 22:23 (laatste wijziging 16/10/2004 22:24)
Avatar van Rens Gouden medaille

Crew algemeen
  1. <?
  2.  
  3. $string = "abcdef"; // set de string
  4.  
  5. $eerste = substr($string, 1); // haal eerste teken op
  6. $laatste substr ($string, -1); // haal laatste teken op
  7.  
  8. $string = str_replace($eerste, "nieuw teken", $string); // vervang het eerste teken
  9. $string = str_replace($laatste, "nieuw teken", $string); // vervang het laatste teken
  10. ?>


Mzzls,
Rensjuh
Offline cloudstrife - 16/10/2004 22:30
Avatar van cloudstrife PHP beginner ok probleem hierbij is wel dat als het teken midden in de string voorkomt het ook vervangen wordt niet?
Offline CelestialCelebi - 16/10/2004 22:35 (laatste wijziging 16/10/2004 22:37)
Avatar van CelestialCelebi PHP gevorderde Beetje domme oplossing, niet, Rensjuh (Wat een naam ook )?

  1. <?php
  2. $sString = 'abcaf'; // string
  3. $sString{0} = 'X';
  4. // als ik hier nu str_replace() had gedaan, was de string niet Xbcaf, maar XbcXf en dat is niet de bedoeling.
  5. echo $sString; // Xbcdf
  6. ?>


@Cloudstrife: Komt de afkorting ANF jou bekend voor?

EDIT: In PHP is er dus niet echt iets om het eerst en het laatste teken te vervangen.. Wel om het weg te kappen:
  1. <?php
  2. $sString = substr($sString, 1); // eerste teken weg
  3. unset($sString{0}); // eerste teken weg
  4.  
  5. unset($sString{4}); // vijfde teken weg
  6.  
  7. $sString = substr($sString, -1); // laatste teken weg
  8. unset($sString{strlen($sString)}); // laatste teken weg
  9. ?>

Offline twopeak - 16/10/2004 23:03
Avatar van twopeak Gouden medaille

PHP ver gevorderde
<?
$str{strlen($str)-1} = 'x';
?>
staat in het handboek! (my bibleeeeeeee)
Offline Rens - 16/10/2004 23:08
Avatar van Rens Gouden medaille

Crew algemeen
@LesbialCeleb: Hmmz, idd domme oplossing^^ Kwas denk ik te haastig of sow... (hebk we vaker last van:ooh: )

Maaruh, wat bedoel je met 'wat een naam ook:) '?
Vage nickname of sow? Jah, kwist nix beters te bedenken:s

Mzzls,
Rensjuh
Offline cloudstrife - 17/10/2004 11:16
Avatar van cloudstrife PHP beginner $mandje = str_replace($string, "", $mandje);

if (substr($mandje, 1) == "-"){

unset($mandje{0});
}
if (substr($mandje, -1) == "-"){

unset($mandje{strlen($mandje)});
}

Dit heb ik geprobeerd maar lukt dus nog altijd niet 
Offline Thomas - 17/10/2004 11:50
Avatar van Thomas Moderator 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.
Offline cloudstrife - 17/10/2004 12:13
Avatar van cloudstrife PHP beginner 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)) {

$id = $regs[1];

$aantalstuks = $regs[2];

.........

Offline cloudstrife - 17/10/2004 19:07
Avatar van cloudstrife PHP beginner 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.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.217s