|
|
|
|
|
для: confirm
(17.05.2012 в 18:16)
| | ой да, действительно, достаточно проверки на пробел ))) | |
|
|
|
|
|
|
|
для: technic611
(17.05.2012 в 17:44)
| | Не запускал вашего кода я, я его даже прочесть не могу, не знаю где остановка )
Проверьте его в всех ситуациях, вот и ответ будет, правильный он или нет.
Если сверять с тем, что в массиве, тогда достаточно in_array(). Вот только что-то я не пойму - эти символы такие же равноценные как и абвгд..., и если они участвуют в поиске, то зачем их выделять особо? Если не участвуют, то тогда я смысла поиска не понимаю. | |
|
|
|
|
|
|
|
для: confirm
(17.05.2012 в 17:06)
| | в блокноте писал.
массив такой проверка вместо этого
if($cmp[$k]==true || $cmp[$k]==" ")
|
масив можно прогнать и проверить на разделители строк, только как? и что скажете насчет кода, правильный он или нет... | |
|
|
|
|
|
|
|
для: technic611
(17.05.2012 в 17:00)
| | Как вы такой код читаете, все по левому краю и отступов ноль? )
В смысле точка, запятая... не учитывать или просто проверять? Опять не используя строковых функций?
Массив чего? | |
|
|
|
|
|
|
|
для: confirm
(17.05.2012 в 12:14)
| | спасибо. сделал так.
подскажите, как сделать проверку если между строк тире, запятая. как создать массив и его просканить
<?
function search($str, $cmp)
{
$i = 0;
$pos = -1;
$vhod=0;
while(@$str[$i]) {
if($str[$i]==$cmp[0] && $pos<$vhod)
{
$pos = $i;
$k=$i;
while(@$cmp[$k])
{
if($cmp[$k]==true || $cmp[$k]==" ")
{
if($str[$pos+$k]==$cmp[$k]) $pos = $pos;
else $vhod=$pos+1;
}
$k++;
}
}
$i++;
}
echo "Подстрока найдена на позиции: $pos";
}
$str = 'irrirgyyyihoiirrgyu ytrew';
$cmp = 'trew';
search ($str, $cmp);
?>
|
| |
|
|
|
|
|
|
|
для: technic611
(17.05.2012 в 12:03)
| |
<?php
$search = '611';
$haystack = 'technic611 - ololol xddd lolka';
$pos = false;
$i = 0;
while (@$c = $haystack[$i]) {
if ($c == $search[0]) {
$pos = $i;
$j = 0;
$k = 1;
while (@$c1 = $search[++$j]) {
if ($c1 == $haystack[++$i]) {
++$k;
}
}
if ($j == $k) {
break;
}
$pos = false;
}
++$i;
}
if ($pos === false) {
echo 'Ne naideno';
}
else {
echo 'Stroka do iskomoi podstroki: ' . substr($haystack, 0, $pos);
}
?>
|
тебе решение написали ниже, не уж то нельзя чуть-чуть доделать? | |
|
|
|
|
|
|
|
для: technic611
(17.05.2012 в 12:03)
| | Все будет, если дописать условия. Во-первых нужно добавить счетчик для вхождения которое ищем. Во-вторых - увеличивать его, если найдено совпадение для него, и сбрасывать если следующее сравнение ложное. В третьих - соответственно этим условиям сбрасывать позицию. Что-то типа такого. Думайте, вам ведь надо. | |
|
|
|
|
|
|
|
для: confirm
(17.05.2012 в 00:07)
| | а если искать "ri" работать не будет | |
|
|
|
|
|
|
|
для: confirm
(17.05.2012 в 01:45)
| | дооо с собачками сделает | |
|
|
|
|
|
|
|
для: Красная_шляпа
(17.05.2012 в 01:41)
| | Строка никогда не была и не будет массивом, можно обращаться к элементам строки по индексу (смещению), но это не значит, что она массив. А поэтому, не являясь таковым, а также объектом, и переданная в качестве аргумента в функцию count, будет возвращать всегда 1. | |
|
|
|
|