PHP.SU

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

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

> Найдено сообщений: 35
vitaly63 Отправлено: 03 Марта, 2013 - 12:57:14 • Тема: Клонирование и вывод элемента с родительными значениями • Форум: JavaScript & VBScript

Ответов: 0
Просмотров: 592
Доброго времени суток. Сразу переиду к делу. Есть HTML дерево:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <div id="StartClone">
  3.     <div id="BeginClone">
  4.         <div class="Table">
  5.             <div id="TextHeader" class="center borderOne">text header</div>
  6.             <div id="TextThis" class="center borderOne">this text</div>
  7.             <div id="ThisFooter" class="center borderOne">end text</div>
  8.         </div>
  9.     </div>
  10. </div>
  11. <span onclick="deleteText('Header');">удалить элемент 1</span>
  12. <span onclick="deleteText('This');">удалить элемент 2</span>
  13. <span onclick="deleteText('Footer');">удалить элемент 3</span>
  14.  

Есть JS который должен клонировать изначальный вид таблицы (дело в том что после полной загрузки к элементу присваиваются разные события), потом после вызова функции удаления, удаляется блок и элемент перезагружается, из первоначального вида с удаленным блоком и параметры присваиваются заново (dynamicTab(TabElem);):
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. var ClonTabElem = $("#StartClone").clone();
  3. function deleteText(elem) {
  4.     var TabElem = $('.StartClone',ClonTabElem);
  5.  
  6.     $('div#Text'+ elem, TabElem).detach();
  7.     ClonTabElem = $('#StartClone',TabElem);
  8.     $("#StartClone").replaceWith(TabElem);
  9.     dynamicTab(TabElem);
  10. }
  11.  

как мы видим "ClonTabElem" пере назначается заново с новым видом таблицы.
вроде все нормально за исключением следующего:
1) элемент "ClonTabElem" не клонирует таблицу в месте с родителем собственно и не выводит
2) из за первого пункта, "TabElem" выводит только параметры после id="StartClone" и ни как с этим блоком и сохраняет так же без родительного
3) если убрать некоторые проверки, то в первом случае, мы получим сохранение урезаного блока без родителя, а на втором скрипт не заработает, точнея заменит на пустоту.
Помогите решить проблему, как клонировать элемент в месте с родителем и произвести вывод, замену и сохранение, так же в месте с родительным элементом?
П.С. надстойка еще одного "div" не вариант.
vitaly63 Отправлено: 06 Февраля, 2013 - 14:38:19 • Тема: preg_replace для SEO • Форум: Вопросы новичков

Ответов: 2
Просмотров: 136
Всем добрый день. Начну сразу с вопроса. Есть ссылка вида
Цитата:
index.php?action=view&category=71&per_p=50&page=21

.htaccess
Цитата:
RewriteRule ^cat/([0-9]+)/([A-Za-z]+) /site/index.php?action=$2&category=$1 [QSA,L,NC]

Получить надо ссылку:
Цитата:
/cat/71/view&per_p=50&page=21

собственно написал фуньку, для генерации подобного url
PHP:
скопировать код в буфер обмена
  1.  
  2. function parse_q($val)
  3. {
  4.         $var  = explode('&', $val);
  5.         $array = array();
  6.  
  7.         foreach($var as $val)
  8.         {
  9.                 $val = preg_replace("/amp;/i", "", $val);
  10.  
  11.                 $x = explode('=', $val);
  12.                 $array[$x[0]] = $x[1];
  13.         }
  14.        
  15.         unset($val, $x, $var);
  16.         return $array;
  17. }
  18. function seo_link($url)
  19. {
  20. //$url вида index.php?action=view&category=71&per_p=50&page=21
  21. $url_temp = parse_url($url);
  22. $url_query =parse_q($url_temp['query']);
  23. $url_i .= 'cat/'.$url_query['category'].'/'.$url_query['action'];
  24. $url_search = array(
  25. '/action='.$url_query['action'].'/i',
  26. '/category='.$url_query['category'].'/i',
  27. '/\&/',
  28. '/&/',
  29. );
  30. $url_replace = array(
  31. '',
  32. '',
  33. '/',
  34. '/',
  35. );
  36. $url = str_replace($url_temp['path'], '', $url);
  37. $url = preg_replace($url_search, $url_replace, $url);
  38. return $url_i . $url;
  39. }
  40.  

в итоге я должен получить ссылку такого вида
Цитата:
/cat/71/view&per_p=50&page=21

и все вроде так. но удаляются все &amp; и & а надо бы удалить лишь 1-ну из попавшихся, или 2 для других url.
Еще пример:
1) с фунькой выходит так
Цитата:
/cat/71/view/per_p=50/page=21

или
Цитата:
/cat/71/viewper_p=50page=21

если url длиннее и его надо по особому преобразовать, то выходит так:
Цитата:
/cat/71/view/page/50//per_page=21/q=TEST

Цитата:
/cat/71/view/page/50per_page=21q=TEST

если убрать удаление &
Цитата:
/cat/71/view/page/50&&per_page=21&q=TEST&

Как можно исправить данный вывод?
vitaly63 Отправлено: 05 Декабря, 2012 - 16:09:32 • Тема: Аналог sql ф-ции against в php • Форум: Вопросы новичков

Ответов: 9
Просмотров: 310
PHP:
скопировать код в буфер обмена
  1. $page = 'This is a test the old school';
  2. $word = array('test', 'is', 'old','dfsfsdfwe');
  3. $matches = array();
  4. $count_words = preg_match_all('/(?:'.implode('|',$word).')/i', $page, $matches);
  5. $ar_dif = array_diff($word, $matches[0]);
  6. $result = (count($ar_dif) != 0) ? 'true': 'false';
  7.  
vitaly63 Отправлено: 05 Декабря, 2012 - 12:34:58 • Тема: Аналог sql ф-ции against в php • Форум: Вопросы новичков

Ответов: 9
Просмотров: 310
DlTA да поиск стал более точным но это не решает проблему не существующего тега
vitaly63 Отправлено: 05 Декабря, 2012 - 11:20:38 • Тема: Аналог sql ф-ции against в php • Форум: Вопросы новичков

Ответов: 9
Просмотров: 310
Вот например пример:
PHP:
скопировать код в буфер обмена
  1. $page = 'This is a test the old shocl';
  2. $word = array('test', 'is', 'old', 'qwerew');
  3. $matches = array();
  4. $count_words = preg_match_all('/(?:'.implode('|',$word).')/i', $page, $matches);
  5. print_r($matches);

выводит:
PHP:
скопировать код в буфер обмена
  1. Array ( [0] => Array ( [0] => is [1] => is [2] => test [3] => old ) )

но нужно что бы он выводил false. А при таком значении $word :

выводил бы true. Т.е. нужен поиск по тегам, но с точными совпадениями в тексте, расположение тегов в $word не должно влиять на расположение похожих слов в тексте.
vitaly63 Отправлено: 04 Декабря, 2012 - 18:53:08 • Тема: Аналог sql ф-ции against в php • Форум: Вопросы новичков

Ответов: 9
Просмотров: 310
KingStar это понятно, но просто хотелось бы аналог, да и что бы ездил с такой же скоростью)
vitaly63 Отправлено: 04 Декабря, 2012 - 17:21:21 • Тема: Аналог sql ф-ции against в php • Форум: Вопросы новичков

Ответов: 9
Просмотров: 310
Доброго времени суток, возник такой вопрос, а есть ли какой нибудь аналог sql функции against. Т.е. поиск по тексту должен осуществляться точно так же как например поиск по таблице функцией against.
SQL:
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT id, text
  3. FROM table1
  4. WHERE MATCH (text) AGAINST ('"get text help film"' IN BOOLEAN MODE)
  5. LIMIT 0, 10
  6.  

Примерный вывод:
1)
id => '3'
text => 'get this first text. Need help, this film'
2)
id => '45'
text => 'get this film. Need text, this film, please help)'

Что надо: Поиск php ищет такие же совпадения только в php файле с массивами и выводит тоже самое
vitaly63 Отправлено: 03 Ноября, 2012 - 23:40:01 • Тема: Проверка оператора • Форум: Вопросы новичков

Ответов: 3
Просмотров: 140
armancho7777777, даже и не думал о методе проверки массива) спасибо Улыбка
vitaly63 Отправлено: 03 Ноября, 2012 - 23:10:11 • Тема: Проверка оператора • Форум: Вопросы новичков

Ответов: 3
Просмотров: 140
Доброго времени суток припровождения. Вопрос следующий есть оператор if его равенство надо проверить несколькими значениями пример
PHP:
скопировать код в буфер обмена
  1.  
  2. $arr = array("a", "b", "c", "d");
  3. foreach ($arr as $k => $v)
  4. {
  5.         if($v == "a" || $v == "b")
  6.         {
  7.                 echo "$v<br />\n";
  8.         }
  9. }
  10.  

выведет a и b
но мне нужно что бы проверка шла таким образом
PHP:
скопировать код в буфер обмена
  1.  
  2. $arr = array("a", "b", "c", "d");
  3. $chek = 'a,b';
  4. foreach ($arr as $k => $v)
  5. {
  6.         if($v == $chek)
  7.         {
  8.                 echo "$v<br />\n";
  9.         }
  10. }
  11.  

и вывод был бы как и в первом варианте. Причем $chek (исключения) должны задаваться именно таким способом. Подскажите что я упускаю?
vitaly63 Отправлено: 10 Октября, 2012 - 23:18:42 • Тема: Как получить атрибут title и отправить обратно изображению • Форум: JavaScript & VBScript

Ответов: 6
Просмотров: 1649
может кому понадобится. Решение:
CODE (html):
скопировать код в буфер обмена
  1.     <select  onChange="document.images['icon_img'].src = 'images/' + $('option:selected',$(this)).attr('title');" name="category" id="category">
  2.                     <option title="big.png" value="1">big size</option>
  3.                     <option title="new.png" value="2">new size</option>
  4.     </select>
  5.      
  6.     <img src="images/default.png" name="icon_img">
vitaly63 Отправлено: 08 Октября, 2012 - 22:11:36 • Тема: Как получить атрибут title и отправить обратно изображению • Форум: JavaScript & VBScript

Ответов: 6
Просмотров: 1649
KingStar он не допустим, это я знаю. Просто использовал плагин, для отображения в селекте картинок (как раз путь и отображение картинки бралось из title), затем за не надобностью отключил, и вывел картинку рядом с селектом без подключения дополнительных стилей и библиотек. Но в коде эта деталь осталось и я решил объеденить. Теперь вот и прабла.
CODE (html):
скопировать код в буфер обмена
  1.     <select  onChange="document.images['icon_img'].src = 'images/' + this.value;" name="category" id="category">
  2.                     <option value="big.png">big size</option>
  3.                     <option value="new.png">new size</option>
  4.     </select>
  5.      
  6.     <img src="images/default.png" name="icon_img">

про это я выше писал, но надо что бы value оставалось для отправки на сервер а картинка при селекти менялась, но бралась из другого атрибута. Есть альтернативное решение?
vitaly63 Отправлено: 08 Октября, 2012 - 17:54:36 • Тема: Как получить атрибут title и отправить обратно изображению • Форум: JavaScript & VBScript

Ответов: 6
Просмотров: 1649
не не то надо при селекте подставлять картинку из title
vitaly63 Отправлено: 08 Октября, 2012 - 17:01:40 • Тема: Как получить атрибут title и отправить обратно изображению • Форум: JavaScript & VBScript

Ответов: 6
Просмотров: 1649
Доброго времени суток. Прееиду сразу к делу. Собственно при выборе опции тег img должен менять путь катринки, и вывод нужен именно из атрибута titile. Как сейчас:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <select  onChange="document.images['icon_img'].src = 'images/' + $(this).attr('title', title);" name="category" id="category">
  3.                 <option title="big.png" value="1">big size</option>
  4.                 <option title="new.png" value="2">new size</option>
  5. </select>
  6. <img src="images/default.png" name="icon_img">

Дело в том что из value параметр выдергивается и подставляется спокойно а вот с title почему то не хочет: Старый работающий вариант:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <select  onChange="document.images['icon_img'].src = 'images/' + this.value;" name="category" id="category">
  3.                 <option title="big.png" value="big.png">big size</option>
  4.                 <option title="new.png" value="new.png">new size</option>
  5. </select>
  6. <img src="images/default.png" name="icon_img">

Дело в том что вариантов я перепробовал множество, и самый первый вариант это предел моих попыток)
vitaly63 Отправлено: 05 Октября, 2012 - 22:06:44 • Тема: Регулярные выражения preg_match_all • Форум: Вопросы новичков

Ответов: 11
Просмотров: 360
KingStar дело в том что этот метод я испробовал с самого начала. При такой конструкции:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $str = '!!!!
  3.  //<file>end</file>
  4.  people
  5.  //<file>header</file>
  6.  hello
  7.  //<file>footer</file>
  8.  world
  9.  asdas
  10.  //<file>next</file>
  11.  world
  12.  asdas
  13.  //<file>end</file>';
  14.  
  15. $file = explode(PHP_EOL, $str);
  16. $new_array = $result = array();
  17.  
  18. foreach ($file as $v => $k)
  19. {
  20.    if(preg_match('|<file>(.*)</file>|sei', $k, $arr))
  21.    {
  22.                   $key = $v-1;
  23.                   $new_array[$key][] = $arr['1'];
  24.    }
  25.    else
  26.    {
  27.            $new_array[$v][] = $k;
  28.    }
  29. }
  30.  
  31. foreach($new_array as $value)
  32. {
  33.    $key = $value[1];
  34.    if (isset($result[$key]))
  35.    {
  36.                 $result[$key][0] .= ' ' . $value[0];
  37.    }else{
  38.                 $result[$key] = $value;
  39.    }
  40. }
  41.  
  42. print_r($result);
  43.  

получается следующее:
PHP:
скопировать код в буфер обмена
  1. [end] => Array ( [0] => !!!! asdas [1] => end )
  2. [header] => Array ( [0] => people [1] => header )
  3. [footer] => Array ( [0] => hello [1] => footer )
  4. [] => Array ( [0] => world world )
  5. [next] => Array ( [0] => asdas [1] => next )
  6.  )

а должно получится так:
PHP:
скопировать код в буфер обмена
  1. [end] => Array ( [0] => !!!! world asdas[1] => end )
  2. [header] => Array ( [0] => people [1] => header )
  3. [footer] => Array ( [0] => hello [1] => footer )
  4. [next] => Array ( [0] => world asdas [1] => next )
  5.  )

по этому вопрос до сих пор и открыт
vitaly63 Отправлено: 05 Октября, 2012 - 20:20:56 • Тема: Регулярные выражения preg_match_all • Форум: Вопросы новичков

Ответов: 11
Просмотров: 360
такой вариант на объединение
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $file = array
  4. (
  5.         '!!!!',
  6.         '//<file>end</file>',
  7.         'people',
  8.         '//<file>header</file>',
  9.         'hello',
  10.         '//<file>footer</file>',
  11.         'world',
  12.         '//<file>next</file>',
  13.         'good',
  14.         '//<file>header</file>'
  15. );
  16.  
  17. $new_array = $result = array();
  18.  
  19. foreach ($file as $v => $k)
  20. {
  21.    if(preg_match('|<file>(.*)</file>|sei', $k, $arr))
  22.    {
  23.                   $key = $v-1;
  24.                   $new_array[$key][] = $arr['1'];
  25.    }
  26.    else
  27.    {
  28.            $new_array[$v][] = $k;
  29.    }
  30. }
  31.  
  32. foreach($new_array as $value)
  33. {
  34.    $key = $value[1];
  35.    if (isset($result[$key]))
  36.    {
  37.                 $result[$key][0] .= ' ' . $value[0];
  38.    }else{
  39.                 $result[$key] = $value;
  40.    }
  41. }
  42.  
  43. print_r($result);
  44.  

теперь надо разобраться как сделать, что бы скрипт распределял целый текст
PHP:
скопировать код в буфер обмена
  1.     $file = '!!!!
  2.    //<file>end</file>
  3.    people
  4.    //<file>header</file>
  5.    hello
  6.    //<file>footer</file>
  7.    world
  8.    //<file>next</file>';
  9.  

а не
PHP:
скопировать код в буфер обмена
  1. $file = array
  2. (
  3.         '!!!!',
  4.         '//<file>end</file>',
  5.         'people',
  6.         '//<file>header</file>',
  7.         'hello',
  8.         '//<file>footer</file>',
  9.         'world',
  10.         '//<file>next</file>',
  11.         'good',
  12.         '//<file>header</file>'
  13. );

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB