Как использовать 'в одной строке в кавычках? - PullRequest
0 голосов
/ 26 января 2012

Я использую следующее для preg_replace:

$replace = '/[!\/."",#\s\-:?"]+/';

Например, когда я пытаюсь добавить ' выше, это дает мне ошибку в файле:

Ошибка разбора: синтаксическая ошибка, неожиданный T_NS_SEPARATOR в ... / s.php в строке 38

Кроме того, есть ли более простой способ перечислить все заменяемые символы?

Ответы [ 2 ]

2 голосов
/ 26 января 2012

Если вы хотите избавиться от любого символа, попробуйте:

$replace = "/[^a-zA-Z0-9 ]/";

^ означает «что угодно, кроме следующего».Добавьте любые символы, которые вы хотите разрешить в список.Это проще, чем перечислять каждый символ и иметь дело с побегом.

1 голос
/ 26 января 2012

Вам необходимо экранировать символ ', так как он также является разделителем строки в одинарных кавычках:

$replace = '/[!\/.,#\s\-:?"\']+/';
                           ^^

Экранирование выполняется путем добавления \ перед ним.Обычно это логично, так как в противном случае вы закончили бы определение строки, что затем привело бы к синтаксической ошибке (PHP не может проанализировать ваш код).См. Строка в одинарных кавычках Документы .

Существует ли более простой способ перечислить все заменяемые символы?

Разве не достаточно просто перечислить их (как вы уже делаете)?Поэтому я должен признать, что мне непонятно, о чем вы на самом деле беспокоитесь, поэтому я не могу предложить что-то более простое.

...