deel selecteren van een string

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Rik Engelen

Rik Engelen

04/10/2010 22:54:58
Quote Anchor link
Ik probeer van onderstaande een bepaald deel te selecteren met preg_match maar kom er niet uit. Zoek me suf maar het regex verhaal is me niet duidelijk genoeg helaas.
Wil me hier wel verder in verdiepen maar moet even op weg worden geholpen.

$img = '128773_acer_p0.sdp_7z.77z_q8d9eui8.jpg';

ik wil graag het deel selecteren tussen de eerste underscore en de laatste underscore hoe kan je dit doen ?
 
PHP hulp

PHP hulp

23/12/2024 18:21:53
 

04/10/2010 23:13:28
Quote Anchor link
Als het anders kan dan preg, dan is het eigenlijk altijd beter om het anders te doen.
Kijk eens naar exolode of substr.
 
Robert Deiman

Robert Deiman

04/10/2010 23:21:25
Quote Anchor link
Ik zou voor substr gaan, in combinatie met stripos (string positie, voor eerste _) en strripos (de extra r staat voor reverse), waarmee je de positie van je laatste _ kan ophalen. Op die manier kan je door onderstaande je gewenste stukje terugvinden:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
/*beginnen vanaf de eerste _, maar het 2e getal in substr staat voor de lengte, niet de eindpositie (laatste _). Dus moet je daarvoor eindpositie - positie 1e _ doen*/
$substr = substr($img, stripos( $img, '_' ), strripos( $img, '_' ) - stripos( $img, '_' ));
?>
Gewijzigd op 04/10/2010 23:23:31 door Robert Deiman
 
Rik Engelen

Rik Engelen

05/10/2010 07:50:30
Quote Anchor link
Ik moet dit op meerdere images doen waarvan het midden stuk verschillend is en niet allemaal even veel underscores heeft.
wel de eerste en de laatste die staan wel overal in.
 
Robert Deiman

Robert Deiman

05/10/2010 09:13:40
Quote Anchor link
Rik, heb je mijn optie al bekeken? Hij bepaald in mijn optie de positie van de 1e en laatste _ en gaat daarmee aan het werk. Hierbij maakt het dus niet uit hoeveel _ er staan.
 
Rik Engelen

Rik Engelen

05/10/2010 10:22:19
Quote Anchor link
ga ik nu naar kijken

Toevoeging op 05/10/2010 10:30:30:

Dit is hem super bedankt

Toevoeging op 05/10/2010 14:58:57:

Heb samen met iemand via de email de volgende oplossing bedacht:
Nu kan ik alle delen selecteren die nodig zijn.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$string
= "128773_acer_p0.sdp_7z.77z_q8d9eui8.jpg";
$pos_eerste_underscore = strpos($string,"_");
$pos_laatste_underscore = strrpos($string,"_");
$eerste_stuk = substr($string,0,$pos_eerste_underscore);
$laatste_stuk = substr($string,($pos_laatste_underscore+1));

$lengte_tussenstuk = $pos_laatste_underscore-$pos_eerste_underscore;
$tussenstuk = substr($string,($pos_eerste_underscore+1), ($lengte_tussenstuk-1));
?>
Gewijzigd op 05/10/2010 14:59:35 door Rik Engelen
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.