Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP: Регулярные выражения (RegExp, Regular, eregi, preg)

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61

Открыть новую тему     Написать ответ в эту тему

Rendom



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Учебники регулярных выражений
 
Кто сможет составить выражение для такого случая:

Код:
 
<table border=0>
<tr>
   <td>blablablabla<table border=0><tr><td>blablabla_UNIQTEXT_blablabla</td></tr></table></td>
   <td><table border=1><tr><td>blablabla</td></tr></table>666666</td>
</tr
</table>
 

Нужно удалить из этого всего кусок "<table border=0><tr><td>blablabla_UNIQTEXT_blablabla</td></tr></table>". Иными словами нужно вырезать текст от "<table" до "</table>" внутри которого есть строка "UNIQTEXT", но при этом не удалить лишнего. В результате должно получиться:

Код:
 
<table border=0>
<tr>
   <td>blablablabla</td>
   <td><table border=1><tr><td>blablabla</td></tr></table>666666</td>
</tr
</table>
 

Всего записей: 115 | Зарегистр. 27-10-2002 | Отправлено: 23:26 17-05-2005 | Исправлено: AZJIO, 04:05 09-12-2014
Spy686



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
del

Всего записей: 193 | Зарегистр. 17-12-2010 | Отправлено: 17:56 09-05-2012 | Исправлено: Spy686, 18:23 09-05-2012
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Spy686

Цитата:
регулярку - запятая в начале строки

ну хоть основы посмотрите, неужели даже такие вещи спрашивать надо?
/^,/

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 03:57 10-05-2012
Spy686



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
да я так пробывал - не катит
 
http://regexpr.ru/?pattern=%2F%5E%2C%2F&subject=2007-11-25%0D%0A243-12-3%0D%0A%2C+%EF%F0%E8%F4

Всего записей: 193 | Зарегистр. 17-12-2010 | Отправлено: 13:21 10-05-2012
holden321

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а так http://regexpr.ru/?pattern=%2F%5E%2C%2Fm&subject=2007-11-25%0D%0A243-12-3%0D%0A%2C+%EF%F0%E8%F4

Всего записей: 148 | Зарегистр. 04-03-2009 | Отправлено: 13:31 10-05-2012
Spy686



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ага? спс

Всего записей: 193 | Зарегистр. 17-12-2010 | Отправлено: 13:32 10-05-2012
Spy686



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
как написать регулярку чтобы удаляла только <strong>ЛюбоеОдноеСлово</strong>, а не все подкрашеное
 
Так будет кратко и всем понятно.</p>
<strong>© RET_FRAN</strong></p>
<p>Спасибо <strong>The_crow</strong> и <strong>natusechka</strong>.</p>
<p>Не смог в КоАПе найти статью про смотрение телевизора между 23 и 7 утра. Чем регламентируется?</p>
message_10276861"><p><strong>ЛюбоеОдноеСлово</strong>,
да все тем же. ТИШИ
 
Добавлено:
сделаю так :
 
/<strong>.*?<\/strong>,/m

Всего записей: 193 | Зарегистр. 17-12-2010 | Отправлено: 22:54 18-05-2012 | Исправлено: Spy686, 23:00 18-05-2012
Sutar



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот есть код:
 

Код:
if(preg_match("|([a-z0-9_\.\-]{1,20})|is", $_POST["login"]) {echo "OK!"; exit;}
else {echo "ERROR!"; exit;}

 
Он проверяет, чтоб в $_POST["login"] были только a-z, 0-9 и символы _ . -
Если ввести что-то другое, должно выдать "ERROR!"
 
и так, вводим: "2de" (к примеру)
выдает "OK!"
вводим "вап" (к примеру)
выдает "ERROR!"
вводим "2вас"
выдает "OK!"
 
почему в 3тем примере с "2вас" - выдает "ОК!"? если символы "в, а, с" (русские) не доступны...
в чем ошибка?
 
Весь скрипт:
 
 

Код:
 
<?php
if(isset($_POST["submit"]))
{
if(preg_match("|([a-z0-9_\.\-]{1,20})|is", $_POST["login"])) {echo "OK!"; exit;}
else {echo "ERROR!"; exit;}
}
?>
 
<form name="userlogin" method="post" action="">
<input type="text" name="login"/><br/>
<input type="submit" name="submit" value="OK"/>
</form>
 

Всего записей: 1150 | Зарегистр. 15-08-2011 | Отправлено: 00:12 17-06-2012
holden321

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну дак двойка то встречается. тут надо с другой стороны подходить: "если не" то error

Всего записей: 148 | Зарегистр. 04-03-2009 | Отправлено: 00:35 17-06-2012
2YuraN



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
holden321 Это все равно, что прятать голову в песок
 
Sutar
 

Код:
<?php  
if(isset($_POST["submit"]))  
{  
if(preg_match('#^[a-z0-9]{1,20}$#', $_POST["login"])) {echo "OK!"; exit;}  
else {echo "ERROR!"; exit;}  
}  
?>  
 
<form name="userlogin" method="post" action="">  
<input type="text" name="login"/><br/>  
<input type="submit" name="submit" value="OK"/>  
</form>  

Дальше сам расширяй символы, которые тебе нужны

Всего записей: 96 | Зарегистр. 17-09-2006 | Отправлено: 02:26 17-06-2012 | Исправлено: 2YuraN, 02:51 17-06-2012
Sutar



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
так в чем проблема проверки?

Всего записей: 1150 | Зарегистр. 15-08-2011 | Отправлено: 02:38 17-06-2012
2YuraN



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У тебя не задано, что проверка символов должна соответствовать началу и концу проверяемого выражения.
 
Добавлено:
То бишь оно находило символ в слове соотв. тому, который разрешен в классе и выбивало тебе TRUE, несмотря на то, что дальше были символы не разрешенные
 
Добавлено:
Судя по тому, что вопросов не осталось, иду спать)

Всего записей: 96 | Зарегистр. 17-09-2006 | Отправлено: 02:42 17-06-2012
Sutar



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2YuraN
Спасибо что обьяснил и дал скрипт)

Всего записей: 1150 | Зарегистр. 15-08-2011 | Отправлено: 12:52 17-06-2012
Spy686



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
https://fi6.trimmg.com/profile_images/7532677739/NGatsana_1Fist_reasonably_small.jpg
 
отсюда вытянуть NGatsana_1Fist.
 
 
<?php  
 
$content = "https://fi6.trimmg.com/profile_images/7532677739/NGatsana_1Fist_reasonably_small.jpg";  
 
preg_match_all("$/(.*?)_reasonably", $content, $tables);
 
print_r($tables);  
 
?>  
 
что не так?
 
Проверка

Всего записей: 193 | Зарегистр. 17-12-2010 | Отправлено: 23:08 24-06-2012 | Исправлено: Spy686, 23:29 24-06-2012
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Spy686

Цитата:
что не так?  

все
1) нет кавычек вокруг регулярного выражения
2) оно неправильно записано - что там делает $??
3) оно должно закрываться тем же символом, которым и открыто (в данном случае с помощью / )

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:29 24-06-2012
Spy686



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
 
как указать что надо выбрать после последнего "/"

Всего записей: 193 | Зарегистр. 17-12-2010 | Отправлено: 00:01 25-06-2012
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Spy686

Цитата:
как указать что надо выбрать после последнего "/

а у вас _reasonably может быть где то еще?
 

Цитата:
'#/(.*?)_reasonably#'



----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 00:19 25-06-2012
Spy686



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ссылка
 
немного не так. надо выбрать NGatsana_1Fist

Всего записей: 193 | Зарегистр. 17-12-2010 | Отправлено: 00:35 25-06-2012 | Исправлено: Spy686, 00:36 25-06-2012
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Spy686
ну тогда

Цитата:
'#/([^\/]+)_reasonably#'



----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 00:38 25-06-2012
Spy686



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
все окей спасибо !!!

Всего записей: 193 | Зарегистр. 17-12-2010 | Отправлено: 01:03 25-06-2012
nops80



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да уж! Интересно, как у программистов мозг не лопается от этих всех регулярных выражений. Это ж надо столько всего в голове держать, всякие циферки, букофки, палочки, скобочки, и т.д. У них не мозг, а компьютер. Великие люди.
Говорила мама: - Учись в школе хорошо! Так нет...




Пожалуйста, не надо флейма /Cheery/

Всего записей: 45 | Зарегистр. 08-11-2010 | Отправлено: 13:48 08-07-2012 | Исправлено: Cheery, 16:02 08-07-2012
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61

Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP: Регулярные выражения (RegExp, Regular, eregi, preg)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru