регулярное выражение и наклонная черта вправо

я ищу ключевые слова в строке через регулярное выражение. Это хорошо работает для всех ключевых слов, кроме того, которое содержит наклонную черту вправо в нем: "время/испускать".

Даже использование preg_quote($find,'/'), который выходит из него, я все еще получаю сообщение:

Unknown modifier 't' in /frontend.functions.php  on line 71

Если я печатаю шаблон находки, он показывает /time\\/emit/ . Без preg_quote это показывает /time/emit/ и оба возвращают то же сообщение об ошибке.

Любой бит знания был бы полезен.

18
задан pixeline 29 June 2010 в 22:32
поделиться

3 ответа

Попробуйте начинать и заканчивать ваше регулярное выражение знаком, отличным от /

Я лично использую `

Я видел людей, использующих #

Я думаю, что большинство символов хороши. Вы можете прочитать об этом подробнее здесь: http://pl.php.net/manual/en/regexp.reference.delimiters.php

Вот так:

 preg_match('#time/emit#', $subject);  // instead of /time/emit/

Другими словами: Ваш $ find переменная должна содержать скорее # time / emit #, чем / time / emit /

40
ответ дан 30 November 2019 в 06:59
поделиться

похоже на вас что-то уже ускользает от него ..

preg_quote('time/emit') // returns time\/emit
preg_quote('time\/emit') // returns time\\/emit

в качестве взлома вы могли бы просто сделать:

preg_quote(stripslashes($find)) // will return time\/emit
2
ответ дан 30 November 2019 в 06:59
поделиться

бит кода?

'регулярное выражение' для этого конкретного термина должно выглядеть примерно так '/ time / emit /'. С набором ключевых слов может быть более эффективный метод, поэтому было бы хорошо посмотреть, что вы делаете.

0
ответ дан 30 November 2019 в 06:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: