Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Реги, Синтаксис 
:(
    Опции темы
Aliance
Дата 21.2.2005, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Подскажите как работать с регами в php?
Переходя с JS всегда путаюсь. Не могли бы вы мне раз и на всегда объяснить их синтаксис smile
PM MAIL WWW ICQ Skype   Вверх
penizillin
Дата 21.2.2005, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 10.11.2004

Репутация: 8
Всего: 9



раз и на всегда? http://php.net/pcre
PM MAIL ICQ   Вверх
Akina
Дата 21.2.2005, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 5
Всего: 454



Цитата
PHP uses the POSIX extended regular expressions as defined by POSIX 1003.2. For a full description of POSIX regular expressions see the regex man pages included in the regex directory in the PHP distribution. It's in manpage format, so you'll want to do something along the lines of man /usr/local/src/regex/regex.7 in order to read it.


Цитата
PHP also supports regular expressions using a Perl-compatible syntax using the PCRE functions. Those functions support non-greedy matching, assertions, conditional subpatterns, and a number of other features not supported by the POSIX-extended regular expression syntax.


Так про какие реги речь - preg или ereg?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Aliance
Дата 21.2.2005, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



ЭЭ, нет, возможно я не так выразился (не силен в сленге PHPсшика), мне нужно вот что:
Код

$body=eregi_replace("@id@",$id,$body)

Что тут, да как.
PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 21.2.2005, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 4
Всего: 317



Aliance а что собственно проблему вызывает? Заменяем пару букв id на содержимое переменной $id и строки $body. Ты это знаешь, тогда где именно проблема? smile

Или хочешь знать как реги вообще работают, в смысле самому реализовать(ДКА, формальные грамматики и т.п.) ?


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Aliance
Дата 21.2.2005, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



«Хочу знать все» smile
Хочу чтобы написали шаблон из того, что я написал, скажем так:
Код

$variable=eregi_replace("x",$x,$variable)

И описать что есть каждая переменная. Что есть g, gi или i (вдруг отличаються от JS)
PM MAIL WWW ICQ Skype   Вверх
IZ@TOP
Дата 21.2.2005, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Цитата(Aliance @ 21.2.2005, 21:20)
$variable=eregi_replace("x",$x,$variable)

Найти в тексте одну букву "х". В $variables будет находится "х" если таковой имелся в тексте.

Дам тебе совет: используй лучше preg_match/preg_match_all/preg_replace and etc. Они удобнее, быстрее.




--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Aliance
Дата 21.2.2005, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Цитата(IZ @ 21.2.2005, 21:55)
Найти в тексте одну букву "х". В $variables будет находится "х" если таковой имелся в тексте.

А $x зачем?
PM MAIL WWW ICQ Skype   Вверх
IZ@TOP
Дата 22.2.2005, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Цитата(Aliance @ 21.2.2005, 23:41)
А $x зачем?

А... черт... блин. Это относилось к eregi smile eregi_replace производит замену по шаблону. То есть в данном случае все x будут заменены на содержимое переменной $x, а в $variable должен находится текст замены.

Пример:

Код
$variable = 'Test xxx string :D';

$x = 'a';

$variable = eregi_replace('x', $x, $variable);

echo $variable; // "Test aaa string :D"

Но в данном случае использование функции eregi_replace нецелесообразно. Чтобы произвести замену простого текста надо использовать функцию str_replace.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Aliance
Дата 22.2.2005, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Это мне нужно для заметы кодов в гостевой книге smile
PM MAIL WWW ICQ Skype   Вверх
IZ@TOP
Дата 22.2.2005, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Aliance, если заменять будешь символы - используй str_replace, если ББ Коды то preg_replace.
Например:

Код
$text = "Bla [b]bla[/b] bla...";

$text = preg_replace("|[b](.*)[\/b]|si", "<b>\\1</b>", $text);



--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
S.A.P.
Дата 22.2.2005, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 3
Всего: 71



Цитата(IZ @ 22.2.2005, 16:50)
Aliance, если заменять будешь символы - используй str_replace, если ББ Коды то preg_replace.
Например:

Код
$text = "Bla [b]bla[/b] bla...";

$text = preg_replace("|[b](.*)[\/b]|si", "<b>\\1</b>", $text);

Только еще модификатор U надо поставить, а то строку [Ь]енонео[/Ь]еонео[Ь]оеоее[/Ь] полностью жирной сделает.
PM MAIL   Вверх
Aliance
Дата 22.2.2005, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Цитата(Perchilla @ 22.2.2005, 17:01)
siU

Так?
PM MAIL WWW ICQ Skype   Вверх
IZ@TOP
Дата 22.2.2005, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Aliance, по моему без разницы. Но вообще вроде всегда сначало ставят.
i - чтобы не различать регистр букв.
s - вроде для того чтобы с переводами строк работал.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
S.A.P.
Дата 22.2.2005, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 3
Всего: 71



Aliance вот здесь я недавно подобный пример спрашивал http://forum.vingrad.ru/index.php?showtopic=42643
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0626 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.