text mit bestimmter formatierung raussuchen?

marius1625

Grünschnabel
also ich hab nen langen text. in diesem kommen mehrere uhrzeiten vor. mich interessieren nur die wo hinter der uhrzeit noch ein - ist, also z.b. "6.25-". die möchte ich alle rausschreiben, wie ginge das?
hoffe ihr könnt mir helfen!
vg marius
 
PHP:
$regex = '(\d{1,2}\.\d{2}.*?\-)';

$text = '6.25-23945
3.23-3824';

$text = preg_replace($regex, "$1", $text);

print_r($text);
 
Zuletzt bearbeitet:
ne geht nicht :(

also der text der gefiltert werden soll sieht so aus (fettgedruckte soll rausgeholt werden):

Code:
6.00-7.07 aldasöbal 6.30-7.10 baljöasd 16.00-7.30 blabla

die ausgabe soll so aussehen:

Code:
6.00 6.30 16.00


bei dir gibt er jedoch das aus:

Code:
7.30 blabla
 
Spinn ich oder gibt es den g Modifikator nur in Perl?

Ist wirklich eine komische Lösung aber funktioniert :D

PHP:
$text = '6.00-7.07 aldasöbal 6.30-7.10 baljöasd 16.00-7.30 blabla';

$text = preg_replace('/[^\d\.]/i', "$1 ", $text);

$text = preg_replace('/(\s){2,}/is',"$1", $text);

$expl = explode(" ",$text); 

for($i = 0; $i < count($expl); $i++) {

echo $expl[$i].'<br />';
$i +=1;

}
 
Alternativ:
PHP:
<?php
   $text = '6.00-7.07 aldasöbal 6.30-7.10 baljöasd 16.00-7.30 blabla'; 
   $regex = '/(?i:(\d{1,2}\.\d{2}\-))/';
   $strsearch = array();
   preg_match_all($regex,$text,$matches);

   for($i=0;$i < count($matches);$i++)
   {
      $strsearch = str_replace('-','',$matches[$i]);
   }
   echo '<pre>';
   print_r($strsearch);
   echo '</pre>';
?>
 
Zurück