HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #61  
Старый 07.06.2007, 14:36
Dr.Frank
Постоянный
Регистрация: 31.07.2002
Сообщений: 312
С нами: 12513535

Репутация: 187
Post

Цитата:
Сообщение от The_HuliGun  
Как видишь сочетание символов \x1e и \x10 воспринимается как один символ.
Если строка в двойных ковычках, то в твоем случае даже не надо смотреть сочетание сивмолов \x, PHP сразу понимает, что эт один символ..
PHP код:
<?php
$str
='фвафіаafdjasdjfowej\x1e\x10s\\\asdf%&**()';
echo
"$str<br>";
for(
$i=0;$i<=strlen($str);)
 {
   if(
$str[$i+1]=="x" && $str[$i]=="\\"){
     echo 
substr($str,$i,4)."<br>";
     
$i+=4;
   }else{
    echo
"$str[$i]<br>";
    
$i++;
  }
 }
?>
 
Ответить с цитированием

  #62  
Старый 08.06.2007, 02:05
Cond
Новичок
Регистрация: 28.05.2007
Сообщений: 13
С нами: 9977183

Репутация: 23
По умолчанию

У меня проблема в регулярных выражениях не могу сообразить как сделать чтобы все ячейки написанные ниже были помещены в массив
В HTML таблице есть ячейки вида:
Код:
<td><center>news<br><a href='http://news.com/news/11/' class='news_11'><b>News</b></a><font color=black>news</font></center></td>
<td><center>news<br><a href='http://news.com/news/11/' class='news_11'><b>News</b></a></center></td>
<td><center>news<br><a href='http://news.com/news/11/' class='news_11'><b>News</b></a></center></td>
<td><center>news<br><a href='http://news.com/news/11/' class='news_11'><b>News</b></a></center></td>
<td><center>news<br><a href='http://news.com/news/11/' class='news_11'><b>News</b></a><font color=black>news</font></center></td>
Там везде не просто везде News написано, а разная информация, естественно с буквами, цифрами, слэшами, пробелами, ентерами т.е выход делать регулярное выражение с тегами, а как именно сделать это регулярное выражение проблема , пробовал просто без помощи тегов делать не выходит.
Нужно чтобы только такого вида ячейки были помещены в массив.
Делаю так:
$exp = '/<td><center>(.*?)<br><a href=(.*?)>(.*?)<\/a><font color=(.*?)>(.*?)<\/font><\/center><\/td>/';
preg_match_all($exp, $str, $preg);
Пробовал и по другому составлять $exp но так и не додумался (
В массив $preg заносятся только первая и последняя ячейки
А нужно чтобы каждая ячейка так как она распаложена шла и в массив ...
Т.е вариант типо сначало сделать $exp занести в массив потом сделать
Код:
$exp_2 = '/<td><center>(.*?)<br><a href=(.*?)>(.*?)<\/a><\/center><\/td>/';
Занести в массив отпадает надо чтобы поочереди всё было
Помогите разобраться плз как сделать
Вроде как и пустиковое то дело, а мне совсем непонятно .
 
Ответить с цитированием

  #63  
Старый 08.06.2007, 02:28
grinay
IQ- 137%
Регистрация: 15.06.2004
Сообщений: 441
С нами: 11527586

Репутация: 662
По умолчанию

Стукни в асю 939455 помогу с регулркой.Просто не совсем вопрос понятен.
__________________

 
Ответить с цитированием

  #64  
Старый 08.06.2007, 02:52
Isis
Флудер
Регистрация: 20.11.2006
Сообщений: 3,315
С нами: 10248806

Репутация: 2371


По умолчанию

Эм еси у тебя только первая и последняя, то прочитай внимательно про preg_match_all и его 4 парметром !

Последний раз редактировалось Isis; 08.06.2007 в 02:55..
 
Ответить с цитированием

  #65  
Старый 08.06.2007, 03:21
Cond
Новичок
Регистрация: 28.05.2007
Сообщений: 13
С нами: 9977183

Репутация: 23
По умолчанию

Код:
<?php
$data="<td><center>news<br><a href='http://news.com/news/11/' class='news_11'><b>News</b></a><font color=black>news</font></center></td>
<td><center>news<br><a href='http://news.com/news/11/' class='news_11'><b>News</b></a></center></td>";

$exp = '/<td><center>(.*?)<br><a href=(.*?)>(.*?)<\/a>(.*?)<\/center><\/td>/';
preg_match_all($exp,$data,$math);
print_r($math[0]);
?>
Вот как всё решилось благодаря grinay! СПАСИБО ОГРОМНОЕ! Написал код за секунды
А я мучился целый день как же не догодался сюда написать даже спать не хотел пока не узнаю как всё делается
Теперь хоть и спать спокойно можно .

Последний раз редактировалось Cond; 08.06.2007 в 03:27..
 
Ответить с цитированием

  #66  
Старый 08.06.2007, 04:43
hhover
Познающий
Регистрация: 21.05.2007
Сообщений: 61
С нами: 9986942

Репутация: 145
По умолчанию

Уже написал код, не заметил, что вопрос решен, но все же, в этой регулярке дополнительно парсить данные не нужно.
Код:
$exp = "/\<td\>\<center\>(.+?)\<br\>\<a\shref\=\'([^\']+?)\'[^\>]+?\>\<b\>(.+?)\<\/b\>\<\/a\>(\<font[^\>]*?\>(.+?)\<\/font\>)?\<\/center\>\<\/td\>/is
 
Ответить с цитированием

  #67  
Старый 08.06.2007, 16:24
_Great_
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
С нами: 10721066

Репутация: 4360


По умолчанию

Напомню, что в теме обсуждаются только вопросы, непосредственно связанные с ЯЗЫКОМ.
Оффтоп буду тереть и жестоко наказывать.
 
Ответить с цитированием

  #68  
Старый 09.06.2007, 01:08
Cond
Новичок
Регистрация: 28.05.2007
Сообщений: 13
С нами: 9977183

Репутация: 23
По умолчанию

hhover спасибо по прошлой проблемке, но сделал уже как grinay подсказал, всё работает, а раз работает пусть работает как есть Но всё равно спасибо!
Вот образовалась проблема не могу понять как решить
Есть вот такая HTML форма:

Туда вводятся числа в верхнюю строчку от 1 до 19 ,
во 2-ую (нижнюю) строчку от 1 до 20.
Нужно чтобы допустим ввожу я в первую строчку 2 во вторую 5 мне должно вывести куда-нибудь, например в файл result.txt вот такое вот:
Код:
12 
13 
14 
15 
23 
24
25 
34 
35 
45
Тоесть первая цифра 2 обозначает сколько всего должно быть цифр в каждой по две ...
Вторая цифра 5 обозначает что из неё будут браться цифры вида 1 2 3 4 5 и делаться двухзначная цифра ...
Надо чтобы цифры не повторялись например в цифрах выше нет цифр 11 22 33 44 55 Ещё если есть цифры 12, то 21 уже не надо. Если есть 23, то 32 не надо.
Если было бы в HTML форме первая цифра 3 вторая 5, тогда не должно было бы быть цифр 111 222 333 444 555 1x1 2x2 3x3 4x4 5x5 x11 x22 x33 x44 x55 11x 22x 33x 44x 55x (где x - любая цифра)
Вот что должно выводиться: 123 124 125 134 234 245 134 135 345 345

Ещё если уже есть 123, то цифры 321 231 213 132 уже не должны быть.
Как такое можно сделать? Помогите плз.
Кто поможет готовым скриптом, тому с меня сайт с веб шеллом с правами записи в разные папки.

Последний раз редактировалось Cond; 09.06.2007 в 01:49..
 
Ответить с цитированием

  #69  
Старый 09.06.2007, 06:45
Dr.Frank
Постоянный
Регистрация: 31.07.2002
Сообщений: 312
С нами: 12513535

Репутация: 187
Post

Цитата:
Сообщение от Cond  
Тоесть первая цифра 2 обозначает сколько всего должно быть цифр в каждой по две ...
Вторая цифра 5 обозначает что из неё будут браться цифры вида 1 2 3 4 5 и делаться двухзначная цифра ...
Надо чтобы цифры не повторялись например в цифрах выше нет цифр 11 22 33 44 55 Ещё если есть цифры 12, то 21 уже не надо. Если есть 23, то 32 не надо.
Если было бы в HTML форме первая цифра 3 вторая 5, тогда не должно было бы быть цифр 111 222 333 444 555 1x1 2x2 3x3 4x4 5x5 x11 x22 x33 x44 x55 11x 22x 33x 44x 55x (где x - любая цифра)
Вот что должно выводиться: 123 124 125 134 234 245 134 135 345 345

Ещё если уже есть 123, то цифры 321 231 213 132 уже не должны быть.
Как такое можно сделать? Помогите плз.
Кто поможет готовым скриптом, тому с меня сайт с веб шеллом с правами записи в разные папки.
вот попробуй(параметры передаются через $f1 и $f2):

PHP код:
<?php
$file
=fopen("result.txt","w");
function 
a($t,$z,$s){
  global 
$f2,$f1,$file;
  for(
$q=($t+1);$q<=$f2;$q++){
  if(
$z<$f1)
    
a($q,($z+1),$s.$q);
  else
    
fwrite($file,$s.$q."\r\n");
  }
}
a(0,1,"");
fclose($file);
?>
Только я не догнал, почему у тебя второе число аж до 20? эт как? Цифр то всего 9(ну 10 с нулем, но он, как я понял, тебе не нужен).
 
Ответить с цитированием

  #70  
Старый 09.06.2007, 12:37
Cond
Новичок
Регистрация: 28.05.2007
Сообщений: 13
С нами: 9977183

Репутация: 23
Smile

Цитата:
Сообщение от Dr.Frank  
Только я не догнал, почему у тебя второе число аж до 20? эт как? Цифр то всего 9(ну 10 с нулем, но он, как я понял, тебе не нужен).
Допустим если $f1=2, а $f2=20,
тогда уже будут задействованы числа и 11 и 12 и так до 20, а в целом да они и состоят все из цифр 0-9
Шелл в личке.
Скрипт работает, огромное СПАСИБО!
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.