Intereting Posts
scandir не открывается каталог Как использовать функции файловой системы в PHP, используя строки UTF-8? как изменить стили CSS динамически с помощью php / Mysql..и хотите создать темы, которые уникальны для каждого пользователя? Как измерить силу пароля? Интеллектуальная MySQL GROUP BY для потоков активности Сохранить изображение с кодировкой base64 с запросом AJAX в PHP Как добавить правило к URL-адресу Zend и составить несколько путей MVC? Классы против 2D-массивов Отправка значений latlng в mysql-запрос для обновления маркеров Google Maps через routeboxer phpDocumentor Как документировать доступные параметры для параметра string Графические диаграммы для HTML-задач Могу ли я поменять цвета в изображении с помощью библиотеки GD в PHP? URL Rewrite / Mod Rewrite .htaccess на Apache и PHP PHP Warning: POST Content-Length из n байтов превышает предел 3145728 байт в Unknown в строке 0 Ошибка SMTP: не удалось подключиться к SMTP-хосту

Замените все между двумя символами, включая регулярное выражение в php

Я пытаюсь удалить все между двумя символами, включая два символа, из строки с использованием regex в php. Я попытался использовать ответ на этой странице, так что теперь у меня есть строка в моем php-файле, которая выглядит так:

$message = preg_replace('\[[^\]]*]', '', $message); 

Проблема в том, что я получаю эту ошибку:

Предупреждение: preg_replace () [function.preg-replace]: разделитель не должен быть буквенно-цифровым или обратным слэшем

Как я могу это исправить?

Регулярные выражения в PHP необходимо разграничить:

 $message = preg_replace('/\[[^\]]*]/', '', $message); 

Ознакомьтесь с этой документацией .

Также как побочная заметка вам не нужно скрывать закрытие ] если это первый символ в классе символов:

 $message = preg_replace('/\[[^]]*]/', '', $message); 

(Является ли это более читаемым в этом случае спорным, но это хорошо знать.)

Это мое решение: пусть и левый, и правый маркеры – это кавычки. Этот reg expr разбивает строку запроса на три атома, которые будут перенастроены по желанию во входную строку. Надеюсь, поможет.

 var _str = "replace 'something' between two markers" ; document.write( "INPUT : " + _str + "<br>" ); _str = _str.replace( /(\')(.*?)(\')/gi, "($1)*some string*($3)" ); document.write( "OUTPUT : " + _str + "<br>" );