PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 1
ngn Отправлено: 23 Мая, 2010 - 01:46:19 • Тема: Доступность переменной в элементе массива • Форум: Программирование на PHP

Ответов: 2
Просмотров: 300
Здравствуйте!
Вопрос в следующем:
Есть скрипт (парсер), который заполняет определенную форму.
Имеем массив
$n["Sender1"] = array("mes_subject"=>"Привет, {$r}. Как дела, {$r}?", "text"=>"{$r} , как дела, напиши мне!");
$n["Sender2"] = array("mes_subject"=>"{$r} , как дела, напиши мне!", "text"=>"Привет, {$r}. Как дела, {$r}?");
и т.д.
где $r=Вася (например). $r получаем при каждом проходе цикла.
Сложность еще и в том, что $r может находиться сразу в нескольких местах предложения (в противном случае разделил бы предложения на несколько частей и склеил бы черз промежуточную переменную).
Скрипт заполняет поля формы значениями массива. При задании переменной как {$r} либо $r в строке вместо переменной - пустота, при задании '$r', "$r", [$r] отображаются только скобки и кавычки. Понятно, что переменная видна, но ее значение - нет.

Если не совсем понятно объяснил, вот фрагмент скрипта:
PHP:
скопировать код в буфер обмена
  1. // Определяем массив данных для заполнения форм
  2. $n["Sender1"] = array("mes_subject"=>"Привет, {$r},как дела?", "text"=>"{$r} , как дела, напиши мне!");
  3. $n["Sender2"] = array("mes_subject"=>"Привет, {$r},как дела?", "text"=>"{$r} , как дела, напиши мне!");  
  4. if($anchor->get_inner_text_by_number(18)!="All messages") // если нет ссылки "All messages" - пишем письмо  
  5. {  
  6. $n1=$anchor->get_inner_text_by_number(13);  //переменная для выбора отправителя из массива (ее значение Sender1 либо Sender2)
  7. //получаем FirstName для вставки в письмо
  8. $page_source=$webpage->get_source();  // получаем исходный код страницы
  9. $start=strpos($page_source,'Name: ');   //
  10. $start=$start+11;
  11. $end=strpos($page_source,'</div><div>Age');
  12. $r=substr($page_source,$start,$end-$start);sleep(2);  
  13. $anchor->click_by_number(16); //написать сообщение
  14. $browser->wait_for(10,5);  
  15. $input->set_value_by_name('mes_subject',$n[$n1]["mes_subject"]); //Заполняем поле Заголовок  
  16. $textarea->set_value_by_name('text',$n[$n1]["text"]);  //заполняем поле Текст письма
  17. $browser->wait_for(10,5);
  18. sleep(32);  
  19. $button->click_by_number(1);  //нажимаем Send
  20. }

Подскажите пожалуйста, возможно ли сделать, чтобы переменная $r была видима в значении массива и как?

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB