Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

11.05.2010, 16:30
|
|
Постоянный
Регистрация: 13.10.2007
Сообщений: 347
Провел на форуме: 1345617
Репутация:
115
|
|
двойное разделение
Привет... такая проблема... есть выражение.. к примеру 32+32-42
я сделал разделение только по +, а нужно еще и -
вот код
PHP код:
<?
echo '<form method="post" action="?a=ok">
Выражение: <br><input name="v" size="150"/><br>
<input value="разбить" type="submit" /></form>';
if ($_GET['a']=='ok'){
$v=$_POST['v'];
$c=explode('+',$v);
$count=count($c);
echo '<hr>Элементов: <b>'.$count.'</b><br>';
for ($i=0; $i<count($c); $i++) {
$n=$i+1;
echo 'Элемент <b>'.$n.'</b>: <b>'. $c[$i] .'</b><br>';
}
}
?>
|
|
|

11.05.2010, 16:32
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
Воспользуйся preg_split
|
|
|

11.05.2010, 16:34
|
|
Постоянный
Регистрация: 13.10.2007
Сообщений: 347
Провел на форуме: 1345617
Репутация:
115
|
|
причем элемент с - должен остальтя с -
|
|
|

11.05.2010, 16:37
|
|
Постоянный
Регистрация: 13.10.2007
Сообщений: 347
Провел на форуме: 1345617
Репутация:
115
|
|
дай пример
|
|
|

11.05.2010, 17:24
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
PHP код:
<pre>
<?
echo '<form method="post" action="?a=ok">
Выражение: <br><input name="v" size="150"/><br>
<input value="разбить" type="submit" /></form>';
if ($_GET['a']=='ok'){
$znak=array("+","-","*","/");
$d=str_split($_POST['v'].$znak[0]);
$i=0;
foreach ($d as $value){
if(!in_array($value,$znak)) {
$temp.=$value;
} else {
$i++;
echo "Элемент $i: $temp \n";
$temp="";
}
}
}
?>
</pre>
^_^
|
|
|

11.05.2010, 17:34
|
|
Постоянный
Регистрация: 13.10.2007
Сообщений: 347
Провел на форуме: 1345617
Репутация:
115
|
|
PHP код:
<?
echo '<form method="post" action="?a=ok">
Выражение: <br><input name="v" size="150"/><br>
<input value="разбить" type="submit" /></form>';
if ($_GET['a']=='ok'){
$v=$_POST['v'];
$c=preg_split("/[\s]*[-+][\s]*/", $v);;
print_r($c);
$count=count($c);
echo '<hr>Элементов: <b>'.$count.'</b><br>';
for ($i=0; $i<count($c); $i++) {
$n=$i+1;
echo 'Элемент <b>'.$n.'</b>: <b>'. $c[$i] .'</b><br>';
}
}
?>
но как - выхватить!?
|
|
|

12.05.2010, 07:23
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме: 3660186
Репутация:
905
|
|
PHP код:
preg_match_all ('/[+-]?\d+/', $str, $m);
$m[0] = array_map ('intval', $m[0]);
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|