Versio

string replace

Overzicht Reageren

Stefan Renne

stefan Renne

26/07/2010 12:12:44
Quote Anchor link
ik zou graag in een string alle PUNTEN willen weg halen behalve de 1e punt, iemand een idee?
 
PHP hulp

PHP hulp

25/05/2012 18:43:10
Gesponsorde koppelingen:
 
Mick ForSure

Mick ForSure

26/07/2010 12:20:58
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$string
= '...';

$now = substr($string, 0, 1);

print $now;
?>


bedoel je dit?
 
Mark L

Mark L

26/07/2010 12:26:51
Quote Anchor link
ik denk dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$string
= '.hallo.ik.ben.puntig';
while ($pos = strpos($string, '.', 1)) {
    $string = substr($string, 0, $pos).substr($string, ($pos+1));
}

?>


Niet getest. Kan zijn dat je em iets anders moet kalibreren.
Gewijzigd op 26/07/2010 12:27:12 door Mark L
 
Stefan Renne

stefan Renne

26/07/2010 12:27:53
Quote Anchor link
ik denk dat ik het niet goed heb uitgelegd, ik wil meer zoiets:

$string = 'test.test.test.test';

veranderen in:

$string = 'test.testtesttest';

alleen dan hoeft de 1e punt niet perse de 5e caracter te zijn
Gewijzigd op 26/07/2010 12:30:04 door stefan Renne
 
Johan Dam

Johan Dam

26/07/2010 12:38:25
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$string
= "test.test.test.test";
$string = preg_replace("/\./", "{{{punt}}}", $string, 1);
$string = str_replace(".", "", $string);
$string = str_replace("{{{punt}}}", ".", $string);
?>


Niet getest, maar dit veranderd de eerste . in iets anders, verwijderd de rest en zet de eerste dan weer terug.
Tikkie omslachtig maar zou moeten werken.

Je kan ook origineel doen met explode en implode.
 
Wesley Overdijk

wesley Overdijk

26/07/2010 12:44:03
Quote Anchor link
*gasp*

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
preg_replace('/\G(?(?=^)[^.]*\.)[^.]*\K\./', '', $str);
?>
Gewijzigd op 26/07/2010 12:48:06 door Bas Kreleger
 
Mark L

Mark L

26/07/2010 12:50:38
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$string
= 'test.test.test.test';
$explodeArray = explode('.', $string);
$newString = $explodeArray[0].'.';
unset($explodeArray[0]);
if (!empty($explodeArray)) {
    $newString .= implode('', $string);
}

?>


Ik vind Wesleys regex wel super tof trouwens!
Gewijzigd op 26/07/2010 12:51:15 door Mark L
 
Wesley Overdijk

wesley Overdijk

26/07/2010 12:54:59
Quote Anchor link
Dankje, dat is erg aardig van je :)
 
- Mark -

- Mark -

26/07/2010 12:55:02
Quote Anchor link
:p nogal wat varianten.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

    #| De string met punten.
    
        $string = 'hallo.ik.ben.puntig';


    #| De nieuwe string weergeven.
    
        echo strstr($string, '.', true).'.'.str_replace('.', '', strstr($string, '.'));
    
?>
 
- SanThe -

- SanThe -

26/07/2010 15:06:05
Quote Anchor link
Nog een variatie:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$string
= 'test.test.test.test';
$array = explode('.', $string, 2);
$array[1] = str_replace('.', '', $array[1]);
echo implode('.', $array);
?>
 
- Mark -

- Mark -

26/07/2010 15:23:15
Quote Anchor link
Ik denk niet dat we hem korter krijgen dan die van Wesley.

Al moet ik eerlijk bekennen dat ik hem niet echt kan lezen maar dat komt doordat ik niet thuis ben in regex.

Maar aan de meeste varianten te zien ben ik niet de enige :p
 
Stefan Renne

stefan Renne

26/07/2010 21:02:41
Quote Anchor link
jongens super tnx, leuk dat dr zoveel variaties zijn gepost ;)
 



Overzicht Reageren

Get Adobe Flash player