Я пытаюсь объединить 2 выражения регулярных выражений.
$test = preg_replace('/\[.*?\]/', '', $test);
Я использую это, чтобы удалить квадратные скобки и слова между скобками.
$test = preg_replace ('/[\[\]=]+/', '', $test);
Я использую это, чтобы вырезать символы any = [] из моей строки.
делать это индивидуально, кажется, все хорошо, но я хотел бы их комбинировать. Любые идеи, как я могу это сделать … все, что я пробовал, сломал и то, и другое.
благодаря
Используйте чередование :
$test = preg_replace('/\[.*?\]|[\[\]=]/', '', $test);
Порядок здесь важен, так что первые согласующие скобки и их содержимое удаляются. Это должно работать нормально, пока вложенные скобки отсутствуют.
Таким образом, это выражение будет соответствовать либо \[.*?\]
ИЛИ [\[\]=]
Самый простой ответ – использовать или:
'/\[[^\]]*\]|[\[\]=]+/'
Обратите внимание, что я также изменил внутренний шаблон в первой строке. Я не уверен, нужна ли обратная косая черта.