oříznutí textu v php

Webdesign, HTML, CSS, Flash, PHP, ASP, .NET, JavaScript. Kritika www stránek na Smetišti.

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod Prkny 9. 11. 2007 15:47

Dobrý den,
jak mohu oříznout z textu v php to co je v techto závorkách ?

příklad:
mám slovo: "počet kusů|50|"
potřebuji aby je zobrazilo pouze: "počet kusů" ??
Prkny
Junior

Odeslat příspěvekod ETNyx 9. 11. 2007 15:51

$promena = substr("počet kusů|50|", 0, 10); // vrati "počet kusů"
ETNyx
Junior

Odeslat příspěvekod Prkny 9. 11. 2007 15:57

Omluvám se nenapsal jsem to dost jasně.... to měl být jenom příklad je tam desítky různých slov, jedná se o cyklus s databáze nechtel jsem s tím zatěžovat ...
může to být např.

cyklistika|50|
kolo|1|
řídítka|153|
přehazovačka|5546|
Prkny
Junior

Odeslat příspěvekod wojta 9. 11. 2007 16:07

Kód: Vybrat vše
$lsNeco="počet kusů|70|"
$laPromenna=split("|",$lsNeco); //vrátí pole
$lsHodnota=$laPromenna[0];
[/co

lepší může být ještě použití preg_split
C:\>ver
MS-DOS Version 5.00
wojta
Pokročilý
Uživatelský avatar

Odeslat příspěvekod Prkny 9. 11. 2007 16:35

tak jsem si myslel ze to odladím sám ale nejak se nedari, mám proměnou:

Kód: Vybrat vše
$polozka[sklad] = "cyklistika|50|;kolo|1|;řídítka|153|;přehazovačka|5546|;";[/cod
řebuji aby to udelalo toto:
Kód: Vybrat vše
cyklistika
kolo
řídítka
přehazovačka
[/cod
edníkem oddělím jednotlivá slova a poté jsem chtěl smazat ty zavorky||

mám toto ale hází mi to chybu: preg_split() [function.preg-split]: No ending delimiter '|' found in var_skladem.php on line 48

Kód: Vybrat vše
$volba = explode (';', $polozka[sklad]);
$laPromenna = preg_split("|",$volba); //vrátí pole
$pocet_volba = count($volba) - 1;
for($i=0; $i < $pocet_volba;$i++){
  echo "$laPromenna[$i]<br />";       
}[/
Prkny
Junior

Odeslat příspěvekod gmvasek 9. 11. 2007 16:43

Možná existuje lepší řešení, ale já bych to udělal takto:
Kód: Vybrat vše
$polozka['sklad'] = "cyklistika|50|;kolo|1|;řídítka|153|;přehazovačka|5546|;";
$out = explode(';', $polozka['sklad']);
foreach($out as &$value)
{
$temp = strstr($value, '|');
$value = str_replace($temp, '', $value);
}

header('Content-type: text/plain');
print_r($out);
[/cod
is foreach($out as &$value) funguje pouze pod PHP 5+, pro PHP 4 se musí použít
Kód: Vybrat vše
foreach($out as $key => $value)
{
$temp = strstr($out[$key], '|');
$out[$value] = str_replace($temp, '', $out[$value]);
}


EDIT: všiml jsem si, že používáš zápis $polozka[sklad], ale sklad musí být v apostrofech nebo uvozovkách, jinak máš parse error!
gmvasek
Junior

Odeslat příspěvekod K8 9. 11. 2007 17:04

ja bych to udelal treba takto:
Kód: Vybrat vše
$polozka['sklad']='cyklistika|50|;kolo|1|;řídítka|153|;přehazovačka|5546|;';
$volba=explode(';', $polozka['sklad']);
array_pop($volba);
foreach($volba as $polozka) {
  print strtok($polozka, '|') . "<br>\r\n";
  }
[/cod
K8
Pokročilý

Odeslat příspěvekod Prkny 9. 11. 2007 17:22

Pánové velice jste mi pomohli !!!!!
Děkuji Vám !
Prkny
Junior


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků