Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: ПОмогите новичку [2]

 PHP.SU

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


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

> Без описания
-OReX-
Отправлено: 19 Октября, 2008 - 14:57:37
Post Id



Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)

[+]


Не подскажите как в строке можно найти из кучи html <div id='id'>...</div> и удалить?
 
 Top
Champion Супермодератор
Отправлено: 19 Октября, 2008 - 15:09:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




document.deleteElement(document.getElementById('id' ) ) ;
(Добавление)
или если в пхп,
$html = preg_replase("/<div id='id'>.*</div>/", '', $html)
возможно, символы < и > надо заэкранировать

(Отредактировано автором: 19 Октября, 2008 - 17:25:51)

 
 Top
-OReX-
Отправлено: 19 Октября, 2008 - 16:55:59
Post Id



Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)

[+]


никак не пойму как правильно то надо $patterns...
PHP:
скопировать код в буфер обмена
  1. <?
  2. $string = "<div id='1'>1</div><div id='3'>3</div>";
  3.  
  4. $patterns = "/<div id='3'>.*</div>/";
  5. $replacements = "";
  6.  
  7. echo preg_replace($patterns, $replacements, $string);
  8. ?>

(Отредактировано автором: 19 Октября, 2008 - 16:56:59)

 
 Top
Champion Супермодератор
Отправлено: 19 Октября, 2008 - 17:27:13
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Если так, как вы написали не работает, попробуте так
$patterns = "/\<div id='3'\>.*\<\/div\>/";
(Добавление)
Кстати, символ / перед div должен быть обязательно заэранирован. Неэкранированииый такой символ будет обозначать конец шаболна
 
 Top
-OReX-
Отправлено: 20 Октября, 2008 - 06:47:33
Post Id



Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)

[+]


Спасибо, Champion! Так работает, только есть одно но... удаляется всё от <div id='id'> до последнего </div> в коде. Я добавил </div id='id'> заработало. А так вообще можно?
 
 Top
Champion Супермодератор
Отправлено: 20 Октября, 2008 - 08:39:59
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Вообще там есть дополнительные флаги у шаблонов. Я их все не помню, надо мануал глянуть. Гляньте такую штуку, "квантификатор жадности называется"
(Добавление)
Если удалялет вместе с тегами, надо наверное, в скобки взять

Или сделать замену не на пустую строку, а на '<div id='id'></div>'
 
 Top
-OReX-
Отправлено: 27 Октября, 2008 - 06:47:20
Post Id



Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)

[+]


Что делать!? Экранируются кавычки во входящих данных... никакими экранирующими функциями не пользовался, даже"магические кавычки" на off установлены... всё равно экранирует...
 
 Top
Champion Супермодератор
Отправлено: 27 Октября, 2008 - 08:42:20
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Можно примером пояснить что вы имели в виду?
 
 Top
-OReX-
Отправлено: 28 Октября, 2008 - 13:33:14
Post Id



Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)

[+]


Я уже разобрался... Я связался с админом сервера на который выкладывал свой скрипт и оказалось что они экранируют кавычки в целях безопасности.
 
 Top
-OReX-
Отправлено: 06 Ноября, 2008 - 11:46:49
Post Id



Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)

[+]


Как можно из текста "123123123" узнать сколько раз сочетается "23"?
 
 Top
Champion Супермодератор
Отправлено: 06 Ноября, 2008 - 11:52:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




preg_match_all('/(23)/', $str, $matches);
echo count($matches)-1;
 
 Top
-OReX-
Отправлено: 07 Ноября, 2008 - 09:44:16
Post Id



Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)

[+]


Спасибо Champion.
Вот я добавляю тег.
$teg1 = array('/\[b\]/','/\[\/b\]/');
$teg2 = array('<b>','</b>');
$texte = preg_replace($teg1, $teg2, $texte);

А как мне можно проверить по порядку ли идут теги, закрыты ли они...
/\[b\](.*)\[\/b\]/ - если пишу так то влазит туда всё от первого до последнего тега.

(Отредактировано автором: 07 Ноября, 2008 - 09:52:36)

 
 Top
Champion Супермодератор
Отправлено: 07 Ноября, 2008 - 10:10:09
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Поищите описание синтаксиса рег. выр. Там есть возможность указывать опции, среди них есть и та, кторая вам надо
 
 Top
-OReX-
Отправлено: 07 Ноября, 2008 - 11:54:26
Post Id



Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)

[+]


/\[b\][^(\[\/b\])]+\[\/b\]/ вот так получилось... спс!

А можно как нить проверять, и экранировать кавычки в пределах этого тега, не трогая кавычки вне тега?

(Отредактировано автором: 07 Ноября, 2008 - 12:00:17)

 
 Top
Champion Супермодератор
Отправлено: 07 Ноября, 2008 - 13:23:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




проверьте ваш вариант на такой строке
[b] dfgbdf]dfbg [\b]


проверять, и экранировать кавычки в пределах этого тега, не трогая кавычки вне тега
функция preg_replace_callback('/\[b\](.*)\[\\b\]/U', 'my_func', $strochka)

а в my_func($matches) экранируем ковычки в $matches[1]
 
 Top
Страниц (3): « 1 [2] 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Регулярные выражения »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB