В настоящее время я работаю над защитой своего чата AJAX от эксплойтов, проверяя весь текст в PHP до его передачи клиенту. До сих пор я был успешным с моей миссией, за исключением одной части, где мне требуется сопоставить наборы тегов изображений.Соответствующие наборы тегов в PHP с регулярным выражением
В целом, я хочу, чтобы он подобрал любой экземпляр того, что есть символ новой строки между установленными тегами, которые у меня есть, но решение, которое у меня есть, является жадным и соответствует символам новой строки вне тегов, а также если есть несколько наборов тегов.
На данный момент у меня есть следующее, который работает, если я хотел, чтобы соответствовать только [img]{newline}[/img]
if(preg_match('/\[\bimg\].*\x0A.*\[\/\bimg\]/', $text)){ //code }
Но если бы я хотел сделать [img]image.jpg[/img]{newline}[img]image.jpg[/img]
, он видит только самые первые и закрывающие теги, которые я не хочу.
Так что теперь я спрашиваю, как вы его соответствующим образом сопоставляете с каждым набором тегов?
Редактировать: для уточнения. Любые символы новой строки внутри тегов плохие, поэтому я хочу их обнаружить. Любые символы новой строки вне тегов хороши, и я хочу их игнорировать. Причина в том, что если клиент обрабатывает символ новой строки внутри тега, он сбой.
я уже пытался размещения? после. * перед тем, как это все еще совпало. Я считаю, что вы неправильно поняли мой вопрос, поэтому я добавил разъяснения. – KF4