За последние 24 часа нас посетили 22275 программистов и 1055 роботов. Сейчас ищут 694 программиста ...

Поиск и замена массивом + регулярка

Тема в разделе "PHP для новичков", создана пользователем romagromov, 19 фев 2019.

  1. romagromov

    romagromov Активный пользователь

    С нами с:
    17 дек 2015
    Сообщения:
    73
    Симпатии:
    0
    Здравствуйте!
    Задача почистить вывод звезд рейтинга от микроразметки.
    То есть, у переменной, которая содержит HTML код звезд рейтинга нужно убрать следущий код:

    HTML:
    1. <span itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
    2. <meta itemprop="itemReviewed" content="SHAREit" />
    3. <meta itemprop="ratingValue" content="83" />
    4. <meta itemprop="bestRating"  content="100" />
    5. <meta itemprop="ratingCount" content="8068" />
    6. </span>
    Я делаю это массивом, заменяя каждую строку отдельно (так нужно):

    PHP:
    1. $find = array('<span itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">', '<meta itemprop="itemReviewed" content="" />', '<meta itemprop="bestRating" content="[0-9]" />');
    2. $replace = array('<span>', '', '');
    3. $cleanstars =  str_replace($find, $replace, $item->voting);

    Обратите внимание на

    PHP:
    1. <meta itemprop="bestRating" content="[0-9]" />
    Там вместо [0-9] могут быть абсолютно разные числа.
    Как правильно туда вставить регулярное выражение, чтобы замена происходила.
    Спасибо.
     
  2. romagromov

    romagromov Активный пользователь

    С нами с:
    17 дек 2015
    Сообщения:
    73
    Симпатии:
    0
    Есть кто живой?
    Или это так не работает?
    Может сначала надо заменить все цифры на пустоту, а уже потом прогонять через массив?
     
  3. romagromov

    romagromov Активный пользователь

    С нами с:
    17 дек 2015
    Сообщения:
    73
    Симпатии:
    0
    preg_replace