Распарсить bbcode url

Тема в разделе "Регулярные выражения", создана пользователем bolyk, 19 фев 2013.

Статус темы:
Закрыта.
Модераторы: xpert13
  1. bolyk

    bolyk

    Регистр.:
    21 авг 2006
    Сообщения:
    308
    Симпатии:
    209
    Приветствую. Уважаемые, помогите пожалуйста составить регулярку, чтобы отделить анкоры от ссылок:
    Нужно отдельно список анкоров, и отдельно список ссылок. Спасибо, огромное.
     
  2. reds

    reds Постоялец

    Регистр.:
    5 янв 2008
    Сообщения:
    54
    Симпатии:
    36
    у меня так получилось.
    PHP:
    <?php
    $txt 
    "Перейти по ссылке";
    if (
    $c=preg_match_all ("/\[url=(.*?)\](.*?)\[\/url\]/"$txt$matches))
    {
      
    $x=1;
      
    $z=1;
      
    $i=0;
      while(
    $x!="") {
        
    $x=$matches[1][$i];
    $z=$matches[2][$i];
        if (
    $x!="") {
          print 
    $x ' - '.$z;
          echo 
    "<br />";
        }
        
    $i++;
      }
    }
    ?>
     
    bolyk нравится это.
  3. bolyk

    bolyk

    Регистр.:
    21 авг 2006
    Сообщения:
    308
    Симпатии:
    209
    самое интересное что прекрасно работая в php, эта регулярка возвращает анкор
    на js/ ХЗ, что и думать
     
  4. o_nix

    o_nix

    Регистр.:
    7 ноя 2007
    Сообщения:
    1.073
    Симпатии:
    1.037
    PHP:
    <html>
    <
    body>
    <
    script>
    var 
    str "Перейти по ссылке";
    var 
    rez str.replace(/\[url=([^\]]+?)\]([^\[]+?)\[\/url\]/gi"$2;$1<br>");
    document.write(rez);
    </script>
    </body>
    </html>
    выведет csv
    Код:
    анкор;ссылка
    ан2кор;сс2ылка
    анк3ор;сс3ылка
    ан4кор;ссы4ка
    входные данные должны быть в строгой кодировке win или utf
     
    bolyk нравится это.
Статус темы:
Закрыта.