Daňového přiznání od účetní pouze teď od 490-Kč
Zobrazují se odpovědi 1 až 6 z 6

Prosím i radu s reg. výrazem

  1. Ahoj všem.

    Může mi někdo prosím napsat v PHP regulární výraz, aby dosáhl tohoto

    Mám řetězce např.
    20% bavlna, 30% elasten, 10% viskoza

    V řetězci je tedy jeden nebo více materiálů zapsaných tímto způsobem.

    potřebuji z toho dostat hodnoty jednotlivých materiálů, takže něco takového

    20 => bavlna
    30 => elasten
    10 => viskoza

    Díky moc za radu.

  2. Co se právě děje na Webtrhu?
  3. proč to neudělat nějak např. nějak takto?

    Kód:
    $text = "20% bavlna, 30% elasten, 10% viskoza";
    
    function convertText($text){
    	
    	$newText = array();
    	$data = explode(",", $text);
    	
    	if(!empty($data) AND count($data)>0){
    		foreach($data as $val){
    	 
    			$exVal = explode("%", $val);
    			$newText[$exVal[0]]	=	str_replace(" ", "", $exVal[1]);
    		}
    	}
    	
    	return $newText;
    	
    }
    
    print_r(convertText($text));

  4. Citace Původně odeslal Michael Sirota Zobrazit příspěvek
    proč to neudělat nějak např. nějak takto?

    Kód:
    $text = "20% bavlna, 30% elasten, 10% viskoza";
    
    function convertText($text){
    	
    	$newText = array();
    	$data = explode(",", $text);
    	
    	if(!empty($data) AND count($data)>0){
    		foreach($data as $val){
    	 
    			$exVal = explode("%", $val);
    			$newText[$exVal[0]]	=	str_replace(" ", "", $exVal[1]);
    		}
    	}
    	
    	return $newText;
    	
    }
    
    print_r(convertText($text));
    I to je řešení . Díky.

  5. $values = array_map('trim', explode('%', $hodnota))
    return [$values[0] => $values[1]]

  6. toto
    Kód:
    $text = '20% bavlna, 30% elasten, 10% viskoza';
    preg_match_all('/(\d+)%\s(\w+)/', $text, $matches);
    print_r($matches);
    vyhodi
    Kód:
    Array ( [0] => Array ( [0] => 20% bavlna [1] => 30% elasten [2] => 10% viskoza ) [1] => Array ( [0] => 20 [1] => 30 [2] => 10 ) [2] => Array ( [0] => bavlna [1] => elasten [2] => viskoza ) )
    druhe a treti pole ma ty hodnoty na stejnem indexu.

  7. To první řešení od Michaela má taky problém, že když tam jsou 2 materiály a každý má stejnou hodnotu, tak se pak ten první v tom poli přepíše, ale to už si poladím.
    Díky.

Hostujeme u Server powered by TELE3