Мне нужно проверить (не обязательно возвращать), если определенный текст содержит любые типы вложений, h теги, теги li или теги ul. Мои знания о регулярном выражении действительно бедны. Я нашел следующие фрагменты кода на этом сайте
preg_match_all('/<a\s[^>]*href=([\"\']??)([^\" >]*?)\\1[^>]*>(.*)<\/a>/siU', $text, $matches);
отлично работать и возвращать все вложения, прикрепленные к тексту. Как мне добавить h / li / ul теги к этому?
Я уважаю один вопрос за ограничение на пост, но это единственный способ просто проверить наличие вышеизложенного. Я знаю такие функции, как strpos
и stripos()
, но кажется, что он принимает только один haystack
РЕДАКТИРОВАТЬ
Вот пример текста. Извините за язык, мой сайт находится на африкаанс . Что мне нужно сделать, мне нужно знать, содержит ли текст вложения, теги h, теги li или теги ul
Vandat ek my gedagtes gekry het kan ek onthou dat my pa dol was oor sy gestopte soetrissies. Dit was vir my pa 'n welverdiende lekkerny wat beter was as 'n koningsmaal, en so was dit, as pa 'n geldjie en tyd gehad het, dan is ons seuns en ma beloon met lekkers en pa met gevulde soetrissies. <a href="http://localhost/wordpress/wp-content/uploads/2013/08/AfrikaansHaka_d9e5_w_2.3gp">AfrikaansHaka_d9e5_w_2</a> Hoe presies my pa dit gemaak het kan ek nie onthou nie, daarvoor is my gedagtes te min, lol. Ek kan wel onthou van die rys en maalvleis. Ek is nie rerig 'n groot ryseter nie, seker omdat ek nie Chinees is nie. So ek het gekyk na alternatiewe vir rys, en koeskoes was die antwoord. Koeskoes is een van die voedsels wat baie min gebruik word en baie min mense ken dit. Koeskoes is gaar gedroogte pasta korrels en lyk amper soos growwe braaipap meel. Dit maak koeskoes ook een van die vinnigste en lekkerste kosse om voor te berei, en ek sal julle wys in hierdie lekker resep vir my eie gevulde soetrissies. <span style="text-decoration: underline;"><strong>Bestandele:</strong></span> <ul> <li>4 tot 6 Soetrissies, koppe afgesny en pitte en stronke verwyder</li> <li>Gerasperde kaas</li> <li>Tamatiesous of soet rissiesous</li> <li>Fyngekapte rissie (opsioneel)</li> <li>Fyngekapte cilantro vir garnering</li> </ul> <h3>Koeskoes (Couscous):</h3>
С его единственной проверки вам не нужно использовать preg_match_all, preg_match должно быть достаточно:
if (preg_match('~<(?:a|h[1-6]|ul|li)[ >]~i', $text)) { ...
Примечание: этот способ должен возвращать неожиданный результат, если один из этих тегов заключен в комментарий html или в строку javascript.