[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Экранирование симолов для регулярки
inpost
Вот скрипт:
$teg1 = '</span>';
$teg2 = '\<\/span\>';
$text = preg_replace('/'.addslashes($teg1).'{1}([\s]*)/i','\1',$text); // не работает, пишет:
//Warning: preg_replace() [function.preg-replace]: Unknown modifier 'p' in Y:\home\localhost\www\MAKET\test.php on line 76

$text = preg_replace('/'.$teg2.'{1}([\s]*)/i','\1',$text); // А этот работает!

Как из первой строки сделать вторую? Как экранировать ту строку для регулярки?



Спустя 7 минут, 29 секунд (24.11.2010 - 19:16) vital написал(а):
preg_quote()

Спустя 6 минут, 50 секунд (24.11.2010 - 19:23) inpost написал(а):
Описание подходит... а вот если вставляю - не работает:
$teg1 = '</span>';
$text = preg_replace('/'.preg_quote($teg1).'{1}([\s]*)/i','\1',$text);

Спустя 1 минута, 51 секунда (24.11.2010 - 19:25) vital написал(а):
ну сделай echo '/'.preg_quote($teg1).'{1}([\s]*)/i';
посмотри на получившуюся регулярку, и проверь..

Спустя 4 минуты, 21 секунда (24.11.2010 - 19:29) inpost написал(а):
Она мне слеш не экранировала такой: /

Спустя 6 минут, 40 секунд (24.11.2010 - 19:36) inpost написал(а):
preg_quote($tegclose,'/') - вот так работает =)
Все, спасибо!

Спустя 27 секунд (24.11.2010 - 19:36) vital написал(а):
Цитата
The special regular expression characters are: . \ + * ? [ ^ ] $ ( ) { } = ! < > | : -


_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.