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

Форум PHP

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

 

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

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

тема: помогите с массивом
 
 автор: TavRoX   (07.11.2010 в 20:13)   письмо автору
 
 

вообещм нужно вытянуть то что было в переменной img но уже без лишнего
$text = '$img';
preg_match_all('/src=\"([^"]+)/', $text, $out);


то что в переменной img в таком виде:
<p><img src="../tiny/upload-files/igroki/pato/Pato.jpg" alt="" width="200" height="150" /></p>


сори просто реально чет уже запутался все перепробовал

  Ответить  
 
 автор: Slo_Nik   (07.11.2010 в 20:19)   письмо автору
 
   для: TavRoX   (07.11.2010 в 20:13)
 

Во-первых, что надо вытянуть?
Во-вторых, Вы ошиблись веткой форума

  Ответить  
 
 автор: Trianon   (07.11.2010 в 20:20)   письмо автору
 
   для: TavRoX   (07.11.2010 в 20:13)
 

а что в переменной $text - Вы смотрели?

  Ответить  
 
 автор: TavRoX   (07.11.2010 в 20:22)   письмо автору
 
   для: Trianon   (07.11.2010 в 20:20)
 

выводит вот такое



 <p><img src=\"../tiny/upload-files/gallery/milan_match_photo/40117_466375356936_147054831936_5893464_5468540_n.jpg\" alt=\"\" width=\"550\" height=\"366\" /></p>array(0) {
}
         
         

  Ответить  
 
 автор: Trianon   (07.11.2010 в 20:24)   письмо автору
 
   для: TavRoX   (07.11.2010 в 20:22)
 

и какой же командой он такое выводит?

  Ответить  
 
 автор: Slo_Nik   (07.11.2010 в 20:25)   письмо автору
 
   для: TavRoX   (07.11.2010 в 20:22)
 

А Вас ни чего не смущает в этой строке кода $text = '$img';? Почитайте в руководстве о кавычках, двойных и одинарных

  Ответить  
 
 автор: Trianon   (07.11.2010 в 20:26)   письмо автору
 
   для: Slo_Nik   (07.11.2010 в 20:25)
 

Етицкий дриссель...
Ну кто Вас за язык тянул?

Человеку думать нужно.
Сам человек думать категорически не желает.
Так нет - Вы ему на блюдце с голубой каймой...

  Ответить  
 
 автор: TavRoX   (07.11.2010 в 20:27)   письмо автору
 
   для: Trianon   (07.11.2010 в 20:26)
 

кавычек там нет ето я блин с ветки вопросов копирнул!
я уже пробовал все что можно. кавычек тм нет

$text = $img;
echo $text;
preg_match_all('/src=\"([^"]+)/', $text, $out);

  Ответить  
 
 автор: Trianon   (07.11.2010 в 20:31)   письмо автору
 
   для: TavRoX   (07.11.2010 в 20:27)
 

>rавычек там нет ето я блин
значит так. Тут играем - тут не играем..
Вы приводите здесь законченный фрагмент.
В котором нет ничего лишнего, но который можно запустить на php и проверить результат.
Вот в таком виде.

<?php $img '........';

  .....
  .....

echo 
$res;
?>


А иначе это всё в пользу бедных.

  Ответить  
 
 автор: neadekvat   (07.11.2010 в 20:30)   письмо автору
 
   для: Trianon   (07.11.2010 в 20:26)
 

Это потерянный программист, процентов на 90, мне так кажется. Столько вопросов, никакого намека на мышление, только просьбы.. тю.

  Ответить  
 
 автор: Trianon   (07.11.2010 в 20:33)   письмо автору
 
   для: neadekvat   (07.11.2010 в 20:30)
 

Это не программист покамест вообще.
Пока человек хочет чего-то достичь (а желания ему не занимать) я не вижу причин, почему не помочь.
Но помочь! А не подсказать.

В конце концов с таким мощным желанием он вполне может достичь очень и очень многого.

  Ответить  
 
 автор: TavRoX   (07.11.2010 в 20:33)   письмо автору
 
   для: neadekvat   (07.11.2010 в 20:30)
 

давайте не будем так категоричны!
кто не думает тот вопросов не задает!
но не выходит с этой фигней нечего

  Ответить  
 
 автор: neadekvat   (07.11.2010 в 20:29)   письмо автору
 
   для: TavRoX   (07.11.2010 в 20:13)
 

М-да.. Вы правда даже не смогли понять, что $text надо заменить на $img?

preg_match_all('/src=\"([^"]+)/', $img, $out);
echo $out[1][0];

  Ответить  
 
 автор: TavRoX   (07.11.2010 в 20:31)   письмо автору
 
   для: neadekvat   (07.11.2010 в 20:29)
 

не работает выводит пустоту!
менял уже что угодно

  Ответить  
 
 автор: Slo_Nik   (07.11.2010 в 20:38)   письмо автору
 
   для: TavRoX   (07.11.2010 в 20:31)
 

Всё работает, проверил, но не знаю, то что надо выводит или нет, Вы так и не сказали, что надо получить в конечном результате.

  Ответить  
 
 автор: TavRoX   (07.11.2010 в 20:42)   письмо автору
 
   для: Slo_Nik   (07.11.2010 в 20:38)
 

вообщем смотрите ест ьформа в которую вношу данные.
в переменную img вносится данные вида
<p><img src="../tiny/upload-files/igroki/pato/Pato.jpg" alt="" width="200" height="150" /></p>

далее в файле обработчике переменная получается таким методом
if (isset($_POST['img']))      {$img = $_POST['img']; if ($img == '') {unset($img);}}

далее идет обработка
if (isset($title) && isset($meta_d) && isset($meta_k) && isset($img) && isset($albom))

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

  Ответить  
 
 автор: Slo_Nik   (07.11.2010 в 20:51)   письмо автору
 
   для: TavRoX   (07.11.2010 в 20:42)
 

Ну так вечер только начался, у Вас всё впереди :):):)
Начинайте проверять все данные, переменные и т.д. от формы, не забудьте про error_reporting()

  Ответить  
 
 автор: TavRoX   (07.11.2010 в 20:52)   письмо автору
 
   для: Slo_Nik   (07.11.2010 в 20:51)
 

дело в том что все работает
но не извлекает ссылку(

  Ответить  
 
 автор: Slo_Nik   (07.11.2010 в 20:53)   письмо автору
 
   для: TavRoX   (07.11.2010 в 20:52)
 

у меня всё извлекает, проверяйте внимательней
как Вы выводите дамп массива $out ?

  Ответить  
 
 автор: TavRoX   (07.11.2010 в 21:01)   письмо автору
 
   для: Slo_Nik   (07.11.2010 в 20:53)
 

смотрите переменная img несет в себе то что я кидал все пашет закидывает
вставив такое вот
preg_match_all('/src=\"([^"]+)/', $img, $out);
echo $out[1];
выводит Array
echo $out[1][0] выводит пустоту

  Ответить  
 
 автор: psychomc   (07.11.2010 в 21:16)   письмо автору
 
   для: TavRoX   (07.11.2010 в 21:01)
 

сделайте
print_r($out);

  Ответить  
 
 автор: TavRoX   (07.11.2010 в 21:19)   письмо автору
 
   для: psychomc   (07.11.2010 в 21:16)
 

уже делал
выводит вот ето
Array ( [0] => Array ( ) [1] => Array ( ) )


я делал вытягивание ссылки еще таким методом
но тоже пусто
$patt = 'src';
$pos1 = strpos($img, $patt) + strlen($patt) + 2;
$pos2 = strpos($img, "\"", $pos1);

 $img2 = trim(substr($img, $pos1, $pos2 - $pos1));

  Ответить  
 
 автор: Slo_Nik   (07.11.2010 в 21:17)   письмо автору
 
   для: TavRoX   (07.11.2010 в 21:01)
 

Ну......
Короче, берите в руки руководство по php и читайте о массивах всё подряд.
Потом, объявили переменную, присвоили значение - сразуже вывод в браузер, что бы Вы видели, что в этой переменной...
Уровень ошибок выставили?
Всё работает, а почему у Вас не хочет, так проверяйте всё внимательно.

  Ответить  
 
 автор: Trianon   (07.11.2010 в 21:18)   письмо автору
 
   для: TavRoX   (07.11.2010 в 21:01)
 

а (формальный) результат вызова функции preg_match_all() Вы выводить пробовали?

  Ответить  
 
 автор: TavRoX   (07.11.2010 в 21:20)   письмо автору
 
   для: Trianon   (07.11.2010 в 21:18)
 

сори как ето сделать?

  Ответить  
 
 автор: Trianon   (07.11.2010 в 21:28)   письмо автору
 
   для: TavRoX   (07.11.2010 в 21:20)
 

$x = preg_match.....
var_dump($x);

  Ответить  
 
 автор: TavRoX   (07.11.2010 в 21:32)   письмо автору
 
   для: Trianon   (07.11.2010 в 21:28)
 

вывело
int(0)

  Ответить  
 
 автор: Trianon   (07.11.2010 в 21:33)   письмо автору
 
   для: TavRoX   (07.11.2010 в 21:32)
 

а теперь бегом в справочник функций (подсказка: это сайт php.net/имя_функции ) и выясняйте, что же значит, когда эта функция возвращает 0

  Ответить  
 
 автор: TavRoX   (07.11.2010 в 21:40)   письмо автору
 
   для: Trianon   (07.11.2010 в 21:33)
 

сори я там ищу?
http://php.net/manual/en/function.var-dump.php

  Ответить  
 
 автор: Trianon   (07.11.2010 в 21:41)   письмо автору
 
   для: TavRoX   (07.11.2010 в 21:40)
 

Вы результат выполнения какой функции выводили?
её и ищите.

  Ответить  
 
 автор: TavRoX   (07.11.2010 в 21:53)   письмо автору
 
   для: Trianon   (07.11.2010 в 21:41)
 

чтото накопал перевел
Вы, кажется, должны проверить preg_last_error (), если возможно, произошла ошибка.
башка пухнет(

  Ответить  
 
 автор: TavRoX   (07.11.2010 в 23:58)   письмо автору
 
   для: TavRoX   (07.11.2010 в 21:53)
 

тупо голова пухнет

  Ответить  
 
 автор: Trianon   (08.11.2010 в 00:16)   письмо автору
 
   для: TavRoX   (07.11.2010 в 23:58)
 

Идите спать уже.
Завтра советую подумать, почему у Вас в <p><img src=\" обратный слэш затесался

  Ответить  
 
 автор: TavRoX   (08.11.2010 в 00:18)   письмо автору
 
   для: Trianon   (08.11.2010 в 00:16)
 

а если задать в обработчике чтобы искало от обратного слеша?

  Ответить  
 
 автор: Trianon   (08.11.2010 в 00:19)   письмо автору
 
   для: TavRoX   (08.11.2010 в 00:18)
 

способ рашения задачи путем слепого тыкания вызывает у меня омерзение.

  Ответить  
 
 автор: TavRoX   (08.11.2010 в 00:30)   письмо автору
 
   для: Trianon   (08.11.2010 в 00:19)
 

все кароче разрулил я ету тему
$patt = 'src';

$pos1 = strpos($img, $patt) + strlen($patt) + 3;
$pos2 = strpos($img, '\"', $pos1);
 $str = trim(substr($img, $pos1, $pos2 - $pos1));

так как оно добавляло слеш то я решил так и сделать. добавить длины и окончательную позицию

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

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