Форум программистов, компьютерный форум, киберфорум
PHP: RegExp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
 Аватар для cxsm
21 / 21 / 6
Регистрация: 19.06.2010
Сообщений: 230

Условия в preg

29.12.2014, 17:28. Показов 1001. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
не работает условие в регулярке
PHP
1
$text = preg_replace('/\[url=((http|https|ftp):\/\/[0-9A-Z.]+)\](.*?)\[\/url]/i', "<a href='$1'>".("$3"==""?"$1":"$3")."</a>", $text);
Если $3 не указан, то должно вывести $1, а оно не выводится.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.12.2014, 17:28
Ответы с готовыми решениями:

preg массив
у меня есть массив и проверяемый текст $arr=array( &quot;кино&quot;, &quot;мото&quot;, &quot;слайд&quot; ); $text=&quot;он приехал в кинотеатр...

Preg плюс регулярка
Добрый вечер. Не работает код - выдает в переменной $maches при выполнении print_r на экран выводится &quot;Array ( =&gt; Array ( ) ...

Загвоздка с выражениями preg
Доброго времени суток, уважаемые программисты! Столкнулся с проблемой при обработке выражения preg. Имеется код &lt;a...

6
-72 / 10 / 4
Регистрация: 01.09.2009
Сообщений: 163
02.01.2015, 23:23
это не перл, тут нет $1
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
03.01.2015, 12:50

Не по теме:

Цитата Сообщение от tip78 Посмотреть сообщение
это не перл, тут нет $1
Есть. Это называется обратные ссылки.

http://php.net/manual/ru/function.preg-replace.php
http://php.net/manual/ru/regex... rences.php



Добавлено через 40 секунд
Цитата Сообщение от cxsm Посмотреть сообщение
не работает условие в регулярке
Я сомневаюсь что оно там должно работать вообще... Вы сравниваете строку со строкой,"$3" и "" никогда не будут равны. Это уже после преобразований функции preg_replace() строка "$3" заменится на что то другое, а именно в данном контексте она представляет собой знак доллара и тройку, которые не равны пустой строке.
0
 Аватар для cxsm
21 / 21 / 6
Регистрация: 19.06.2010
Сообщений: 230
06.01.2015, 23:07  [ТС]
это я уже понял, но как мне все таки сделать условие внутри preg_replace неужели только preg_replace_callback поможет
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
06.01.2015, 23:09
Цитата Сообщение от cxsm Посмотреть сообщение
неужели только preg_replace_callback поможет
Поможет. Ну либо по-простому разобрать строку preg_match'ем и склеить то что надо.
0
-72 / 10 / 4
Регистрация: 01.09.2009
Сообщений: 163
07.01.2015, 00:32
когда просите помощи по регуляркам, нужно показывать содержимое $text и желаемый результат
а своими "wannaberegexp" только путаете
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
07.01.2015, 00:49
cxsm, можно и с помощью preg_replace - использовать модификатор e. Но лучше не eval-ить, и, все-таки, воспользоваться preg_replace_callback.
Собственно, а что не нравится в использовании данной функции? Навскидку, будет нечто наподобие такого
PHP
1
2
3
$text = preg_replace_callback('/\[url=((https?|ftp):\/\/[0-9A-Z.]+)\](.*?)\[\/url]/i', function($m) {
    return "<a href='$m[1]'>".($m[3]?$m[3]:$m[1])."</a>";
}, $text);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.01.2015, 00:49
Помогаю со студенческими работами здесь

Ereg и preg match
как правильно заменить на preg match это : if(!ereg(&quot;^{1,255}$&quot;, $ad)) и нужно ли вообще менять,заминка в том что не пойму что значит...

функция preg match
Если знаешь что должно получиться на выходе из поля формы, ограничивать каждое поле регуляркой, что бы получаемая информация...

Preg match и массив server
Когда я смотрю сайт через комп по виндовс, скрипи не перекидывает на http://.../404/ код &lt;?php $ch=-1; ...

Регулярные выражения (preg.match_all)
Здравствуйте, господа! :) Хочу Вас попросить помочь мне в составлении выражения. Не получается и всё, сколько не пытался. Значения...

Регулярные выражения через preg.match
Ребят! нужна помощб в функции... немогу никак понять.. уже часов 7 сижу и что только не делал.. весь гугл облазил. В общем проблема...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru