Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите решить эту проблемы с регуляркой
 
 автор: ingmail   (21.04.2014 в 10:31)   письмо автору
 
 

Доброго дня, не как не получается решить данную задачу
Нужно регулярка которая будет вытаскивать название товара из тега input вот пример
НО именно те INPUT у которого есть атрибут name="data[Product][name]"

<input name="data[Product][name]" value="Бумага SvetoCopy А4 80г/м 500л." type="hidden">
<input name="data[Product][name]" value="Бумага SvetoCopy А3 80г/м 500л." type="hidden">
<input name="data[Product][name]" value="Бумага Снегурочка А4 80г/м 500л." type="hidden">
<input name="data[Product][name]" value="Ручка гел. син 05 ЕК8791" type="hidden">

  Ответить  
 
 автор: Igorek   (21.04.2014 в 11:07)   письмо автору
 
   для: ingmail   (21.04.2014 в 10:31)
 

<input\s+name="data\[Product\]\[name\]"\s+value="([^"]+)"


http://regex101.com/r/iO9rW1

  Ответить  
 
 автор: ingmail   (21.04.2014 в 11:26)   письмо автору
 
   для: Igorek   (21.04.2014 в 11:07)
 

Блин, почему то не выводит ничего может я что то не так делаю? можно полный код?

  Ответить  
 
 автор: Igorek   (21.04.2014 в 14:34)   письмо автору
 
   для: ingmail   (21.04.2014 в 11:26)
 

http://www.php.net/manual/ru/function.preg-match-all.php
> почему то не выводит ничего может я что то не так делаю?
не исключено
> можно полный код?
можно. показывайте!

  Ответить  
 
 автор: ingmail   (21.04.2014 в 17:29)   письмо автору
 
   для: Igorek   (21.04.2014 в 14:34)
 

preg_match('/<input name="data\[Product\]\[name\]"\s+value="(.*?)"/g', $output, $parsing_name);

где $output, это
<input type="hidden" name="data[Product][id]" value="1">
<input type="hidden" name="data[Product][name]" value="Бумага SvetoCopy А4 80г/м 500л.">
<input type="hidden" name="data[Product][code]" value="10102">
<input type="hidden" name="data[Product][price]" value="131.92">
<input type="hidden" name="data[Product][unit]" value="упак 5 шт.">
<input type="hidden" name="data[Product][kit]" value="0">
<input type="hidden" name="data[Product][problem]" value="">
<input type="hidden" name="data[Product][freeBalance]" value="39561" roznitsa="0">
<input type="hidden" name="data[Product][quantity]" value="1">
<button class="addToCart" name="submit" type="submit">в корзину</button>
</form>

</div>
<div>
<a class="productImage newframe" href="/товар/Бумага_Снегурочка__А4_80г_м_500л_"><span><img class="lazy" data-src="/productImage/10103x140y140.jpg" src="" alt=""></span></a>
<div class="productCode"><span>код: </span><a class="newframe" href="/товар/Бумага_Снегурочка__А4_80г_м_500л_">10103</a></div>
<div class="productHit"><span>признак: </span>К </div> <h3 class="productName"><a class="newframe" href="/товар/Бумага_Снегурочка__А4_80г_м_500л_">Бумага Снегурочка А4 80г/м 500л.</a></h3>
<div class="productUnit">упак 5 </div>
<div class="productPrice"><span>цена: </span><strong>129.01</strong></div> <div class="productFreeBalance"><span>остаток: </span>8195</div>
<form method="POST" action="/shop/addtocart/" class="ajax productToCart product10103">
<input type="hidden" name="data[Product][id]" value="2">
<input type="hidden" name="data[Product][name]" value="Бумага Снегурочка А4 80г/м 500л.">
<input type="hidden" name="data[Product][code]" value="10103">
<input type="hidden" name="data[Product][price]" value="129.01">
<input type="hidden" name="data[Product][unit]" value="упак 5 шт.">
<input type="hidden" name="data[Product][kit]" value="0">
<input type="hidden" name="data[Product][problem]" value="">
<input type="hidden" name="data[Product][freeBalance]" value="8195" roznitsa="0">
<input type="hidden" name="data[Product][quantity]" value="1">

  Ответить  
 
 автор: confirm   (21.04.2014 в 19:19)   письмо автору
 
   для: ingmail   (21.04.2014 в 17:29)
 

А почему рег. выражения, данные воруются с чужой страницы?

  Ответить  
 
 автор: ingmail   (21.04.2014 в 20:06)   письмо автору
 
   для: confirm   (21.04.2014 в 19:19)
 

я не ворую, я делаю себе программу, а с ними я сотрудничаю, мне нужны кое какие данные про товар который я купил у них же!!!! если можешь помочь по делу то помоги

  Ответить  
 
 автор: confirm   (21.04.2014 в 20:46)   письмо автору
 
   для: ingmail   (21.04.2014 в 20:06)
 

Говоря о воровстве я имел ввиду, что это не ваша страница и вам не доступна ее DOM-структура, так? Иначе зачем все это, достаточно было получить коллекцию элементов формы (Javascript).
Если сотрудничество, то просите помощи у тех, с кем сотрудничаете. Есть SOAP, да и просто можно было бы сделать для клиентов вход, по которому получать эти данные в JSON формате. А парсить html в поисках нужно, это не сотрудничество, а извращение. )

<?
preg_match_all
("/<input name=.* value=\"(.+)\" type=\"hidden\">/"$html$a);
print_r($a);

  Ответить  
 
 автор: ingmail   (21.04.2014 в 21:02)   письмо автору
 
   для: confirm   (21.04.2014 в 20:46)
 

Да я обрашался к отделу тех. поддержки моего поставщика, они назвали сумму)))

  Ответить  
 
 автор: ingmail   (21.04.2014 в 21:07)   письмо автору
 
   для: confirm   (21.04.2014 в 20:46)
 

Спасибо помогло!))

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования