|
|
|
|
|
для: TanTaL91
(07.11.2013 в 07:45)
| | Добавил модификатор S и все заработало, привожу пример, может кому то будет полезно:
$nmbr=preg_match_all('/\[vc_tab (.*)vc_tab\]/s',$content,$content_arrow);
|
| |
|
|
|
|
|
|
|
для: Deed
(06.11.2013 в 23:56)
| | А если там имеет внутри контент, то уже не работает(
[vc_tabs active_tab="2"][vc_tab title="Tab 1" tab_id="1383736004-1-85"][vc_column_text]
I am text block. Click edit button to change this text.
[/vc_column_text][/vc_tab][vc_tab title="Tab 2" tab_id="1383736004-2-62"][vc_column_text]
I am text block. Click edit button to change this text.
[/vc_column_text][/vc_tab][vc_tab title="Tab 3" tab_id="1383736910489-2-6"][vc_column_text]
I am text block. Click edit button to change this text.
[/vc_column_text][/vc_tab][/vc_tabs]
|
| |
|
|
|
|
|
|
|
для: Deed
(06.11.2013 в 23:56)
| | Спасибо Вам за помощь! | |
|
|
|
|
|
|
|
для: TanTaL91
(06.11.2013 в 23:38)
| |
<?php
$str='[vc_tab title="Tab 1" tab_id="1383336405-1-60"][vc_column_text][/vc_column_text][/vc_tab][vc_tab title="Tab 2" tab_id="1383336405-2-9"][vc_column_text][/vc_column_text][/vc_tab][vc_tab title="Tab 3" tab_id="1383336581182-2-7"][vc_column_text][/vc_column_text][/vc_tab]';
$for_tab=2;
$nmbr=preg_match_all('/\[vc_tab.+?\/vc_tab\]/',$str,$m);
if($for_tab>$nmbr){ //если введенное число больше, чем нужно
echo "Your number is incorrect!";
}
else{
$m[0][$for_tab-1]=str_replace('[vc_tab','[vc_tab tab="active"',$m[0][$for_tab-1]);
$new_str=implode("",$m[0]);
echo $new_str;
}
?>
|
http://phpfiddle.org/main/code/wep-987 | |
|
|
|
|
|
|
|
для: TanTaL91
(06.11.2013 в 23:27)
| | В принципе, подошло бы и такое решение:
Что бы сначала всем раздал active_tab=\"false\"
А потом у нужного заменил на true
$content = '[vc_tab title="Tab 1" tab_id="1383336405-1-60"][vc_column_text][/vc_column_text][/vc_tab][vc_tab title="Tab 2" tab_id="1383336405-2-9"][vc_column_text][/vc_column_text][/vc_tab][vc_tab title="Tab 3" tab_id="1383336581182-2-7"][vc_column_text][/vc_column_text][/vc_tab]';
$content = preg_replace("/vc_tab( title=\"Tab \d+?\")/","vc_tab active_tab=\"false\"$1",$content);
$content = preg_replace("ТУТ ЧТО ТО НАПИСАТЬ","true",$content);
echo $content;
|
Было бы волшебно!) | |
|
|
|
|
|
|
|
для: Deed
(06.11.2013 в 22:43)
| | Тайтл постоянно меняется, на нем нельзя завязывать эту систему... Так как Tab 1 и тд... это для примера :( | |
|
|
|
|
|
|
|
для: TanTaL91
(06.11.2013 в 22:28)
| |
<?php
$str='[vc_tab title="Tab 1" tab_id="1383336405-1-60"][vc_column_text][/vc_column_text][/vc_tab][vc_tab title="Tab 2" tab_id="1383336405-2-9"][vc_column_text][/vc_column_text][/vc_tab][vc_tab title="Tab 3" tab_id="1383336581182-2-7"][vc_column_text][/vc_column_text][/vc_tab]';
$for_tab=2;
$new_str=str_replace('vc_tab title="Tab '.$for_tab.'"','vc_tab tab="active" title="Tab '.$for_tab.'"',$str);
echo $new_str;
?>
|
http://phpfiddle.org/main/code/r62-5cq | |
|
|
|
|
|
|
|
для: Deed
(06.11.2013 в 22:17)
| | Все очень просто, человек вбивает цифру, 1, 2 , 3. И в зависимости от цифры нужному из [vc_tab добавляется уже класс.
Если вводит цифру 1:
[vc_tab tab="active" title="Tab 1" tab_id="1383336405-1-60"][vc_column_text][/vc_column_text][/vc_tab][vc_tab title="Tab 2" tab_id="1383336405-2-9"][vc_column_text][/vc_column_text][/vc_tab][vc_tab title="Tab 3" tab_id="1383336581182-2-7"][vc_column_text][/vc_column_text][/vc_tab]
|
Если вводит цифру 2:
[vc_tab title="Tab 1" tab_id="1383336405-1-60"][vc_column_text][/vc_column_text][/vc_tab][vc_tab tab="active" title="Tab 2" tab_id="1383336405-2-9"][vc_column_text][/vc_column_text][/vc_tab][vc_tab title="Tab 3" tab_id="1383336581182-2-7"][vc_column_text][/vc_column_text][/vc_tab]
|
| |
|
|
|
|
|
|
|
для: TanTaL91
(06.11.2013 в 22:01)
| | Когда "выбрал пользователь", как выглядит его выбор?
Тут, наверное, нужен простой str_replace() http://php.net/manual/ru/function.str-replace.php | |
|
|
|
|
|
|
|
для: Deed
(06.11.2013 в 19:13)
| | Так он всем расставил табы... а мне то надо только одному, который выберет пользователь... | |
|
|
|
|