1 словоА блалала блалалаблалала блалала
2 словоБ блалала блалалаблалала блалалаблалала
3 словоВ блалала блалала
4 словоГ блалала блалала
5 словоД блалала блалалаблалала блалала
Например мне нужно узнать первый символ в строке в которой слово "словоВ" и вывести (echo).
Как это можно сделать? В дельфи все просто.. а в php что то совсем понять не могу.
Спустя 19 минут, 30 секунд (2.10.2010 - 10:01) ABC написал(а):
Я бы сначала прочитал 1 символ строки $str (незнаю как там у вас они задаются массивом или по другому):
потом проверил бы встречается это слово или нет:
$simvol_1=substr(0,1,$str);
потом проверил бы встречается это слово или нет:
if (ereg("словоВ", $str))
{
print "Встречается и первый символ=".$simvol_1;
}
else
{
print "Не встречается";
}
Спустя 43 минуты, 41 секунда (2.10.2010 - 10:45) SlavaFr написал(а):
strpos
Спустя 1 час, 22 минуты, 44 секунды (2.10.2010 - 12:07) PHP_forever написал(а):
Не хочет почему-то...
Может что-то не так?
В 1.txt:
1 словоА блалала блалалаблалала блалала
2 словоБ блалала блалалаблалала блалалаблалала
3 словоВ блалала блалала
4 словоГ блалала блалала
5 словоД блалала блалалаблалала блалала
Может что-то не так?
<?php
$str=file("1.txt");
$simvol_1=substr(0,1,$str);
if (ereg("словоВ", $str))
{
print "Встречается и первый символ=".$simvol_1;
}
else
{
print "Не встречается";
}
?>
В 1.txt:
1 словоА блалала блалалаблалала блалала
2 словоБ блалала блалалаблалала блалалаблалала
3 словоВ блалала блалала
4 словоГ блалала блалала
5 словоД блалала блалалаблалала блалала
Спустя 1 час, 50 минут, 49 секунд (2.10.2010 - 13:58) linker написал(а):
$str=file("1.txt");В данном случае $str будет массивом. Надо
$str=file_get_contents("1.txt");
Спустя 3 минуты, 45 секунд (2.10.2010 - 14:02) ABC написал(а):
linker, абсолютно прав, впрочем как обычно.
Спустя 9 минут, 25 секунд (2.10.2010 - 14:11) ABC написал(а):
Однако, если у вас файл:
1.txt:
1 словоА блалала блалалаблалала блалала
2 словоБ блалала блалалаблалала блалалаблалала
3 словоВ блалала блалала
4 словоГ блалала блалала
5 словоД блалала блалалаблалала блалала
, то это сработает неправильно.
$str=file_get_contents("1.txt");
$str - строка, чтобы сработал ваш скрипт поиска, надо например установить разделитель, чтобы скрипт понял где заканчиваются строки - т.е. перенос на следующую. Например запятой, или ; (что угодно) тогда(если разделитель запятая):
Это должно работать.
1.txt:
1 словоА блалала блалалаблалала блалала
2 словоБ блалала блалалаблалала блалалаблалала
3 словоВ блалала блалала
4 словоГ блалала блалала
5 словоД блалала блалалаблалала блалала
, то это сработает неправильно.
$str=file_get_contents("1.txt");
$str - строка, чтобы сработал ваш скрипт поиска, надо например установить разделитель, чтобы скрипт понял где заканчиваются строки - т.е. перенос на следующую. Например запятой, или ; (что угодно) тогда(если разделитель запятая):
<?php
$str=file_get_contents("1.txt");
$str2=explode(",",$str);//Образовали массив из строчек
foreach ($str2 as $i=>$val)
{
$simvol_1=substr(0,1,$val);
if (ereg("словоВ", $val))
{
print "Встречается и первый символ=".$simvol_1;
}
else
{
print "Не встречается";
}
}
?>
Это должно работать.
Спустя 1 минута, 30 секунд (2.10.2010 - 14:13) ABC написал(а):
А файл 1.txt должен стать таким (в конце каждой строчки запятая):
1 словоА блалала блалалаблалала блалала,
2 словоБ блалала блалалаблалала блалалаблалала,
3 словоВ блалала блалала,
4 словоГ блалала блалала,
5 словоД блалала блалалаблалала блалала
1 словоА блалала блалалаблалала блалала,
2 словоБ блалала блалалаблалала блалалаблалала,
3 словоВ блалала блалала,
4 словоГ блалала блалала,
5 словоД блалала блалалаблалала блалала
Спустя 1 час, 39 секунд (2.10.2010 - 15:14) PHP_forever написал(а):
Спасибо всем!
Спустя 1 час, 26 минут, 9 секунд (2.10.2010 - 16:40) PHP_forever написал(а):
Блин опять не получилось, но теперь попробовал так:
Номер строки получил, вроде все верно но почему-то ничего не выводит (Не выводит $nomer, первый символ).
Мне кажется дело в $nomer=substr(0,$stroka,$text);, я так понял 0 - это первый символ в строке?
<?php
// ищем строку со словом
$slovo="словоВ";
$fopen=@file("1.txt");
foreach($fopen as $key=>$value)
{
// $key узнает номер строки
if(substr_count($value,$slovo))
{
$stroka=$key+1; // узнаём номер строки
$text=file_get_contents("1.txt"); // грузим текст опять, чтобы взять символ.
$nomer=substr(0,$stroka,$text);
print $nomer;
}
}
?>
Номер строки получил, вроде все верно но почему-то ничего не выводит (Не выводит $nomer, первый символ).
Мне кажется дело в $nomer=substr(0,$stroka,$text);, я так понял 0 - это первый символ в строке?
Спустя 10 минут, 28 секунд (2.10.2010 - 16:50) Michael написал(а):
<?php
// ищем строку со словом
$slovo="словоВ";
$fopen=@file("1.txt");
foreach($fopen as $key=>$value)
{
// $key узнает номер строки
if(str_pos($value,$slovo) !== false)
{
print substr($value,0,1);
}
}
?>
если кодировка utf то надо использовать функции из набора mb.
Спустя 7 минут, 43 секунды (2.10.2010 - 16:58) PHP_forever написал(а):
Во теперь точно работает, спс!
З,Ы Жаль карму + еще не могу
З,Ы Жаль карму + еще не могу