Ответы пользователя по тегу PHP
  • Как сделать так чтобы скрипт выводил нужное кол-во картинок?

    @UndineS
    Насколько понимаю задачу, нужно что-то типа этого:
    preg_match_all( '#]*\ssrc=(?:\'|")(.+?\..+?)(?:\'|")[^>]*>#i',$shortnews,$total);

    Регулярное выражение между решетками означает:
    - ]* - в строке дальше могут идти какие-либо символы, кроме закрывающей угловой скобки;
    - \s - идет пробельный символ (не только пробел, но и его вариации - короткий, длинный; табуляция, перенос строки и т. д.);
    - src= - идет последовательность символов "src=";
    - (?:\'|") - идет двойная или одинарная кавычка; скобками означаем границы для знака ИЛИ (вертикальная черта), а символы "?:" означают, что этот скобочный набор не надо отправлять в итоговый массив $total;
    - (.+?\..+?) - идет ЧТО-ТО, точка, потом еще ЧТО-ТО (точка означает "любой символ", плюс - что он идет один и более раз, а "+?" - что ищем минимальный подходящий набор, т.е. при нахождении точки (обозначена символом "\.", т.е. ищем именно символ точки, а не "любой символ") первая группа символов ".+?" заканчивается, после точки ищется еще одна);
    - (?:\'|") - снова одинарная/двойная кавычка;
    - [^>]* - от 0 до бесконечности символов, кроме закрывающей скобки
    - > - закрывающая скобка.
    символ "i" после решетки означает регистронезависимость.

    По итогу в массив $total будут попадать все теги , где элемент с номером "1" - это урл картинки. Т.е.:
    - $total[0][0] - полное совпадение с шаблоном, весь тег ;
    - $total[0][1] - совпадение с маской в скобках, непосредственно урл картинки.
    Ответ написан
    Комментировать