За последние 24 часа нас посетили 19777 программистов и 1691 робот. Сейчас ищут 1942 программиста ...

замена html кода

Тема в разделе "Регулярные выражения", создана пользователем TROODON, 26 май 2009.

  1. TROODON

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

    С нами с:
    4 ноя 2007
    Сообщения:
    112
    Симпатии:
    0
    Здравствуйте!
    С регулярными выражениями у меня мягко сказать не очень, поэтому обращаюсь за помощью.
    Есть код
    HTML:
    1. <p style="text-align: center"><span style="font-size: large"><font size="4">1112111111111111</font></span></p>
    Нужно, чтобы он превратился в
    HTML:
    1. <h1>1112111111111111</h1>
    По материалам php.net
    Попытался сделать так:
    PHP:
    1. <?php
    2. $bbcode = array(
    3. "<font size=\"4\">(.*?)</font>" => "<h1>$1</h1>",
    4. "/\[u\](.*?)\[\/u\]/is" => "<h1>$1</h1>"
    5. );
    6. $text = '<p style="text-align: center"><span style="font-size: large"><font size="4">1112111111111111</font></span></p>';
    7. $text = preg_replace(array_keys($bbcode), array_values($bbcode), $tmp);
    8. echo $text;
    9. ?>
    Не подходит. Хотелось бы получить помощь в данной задаче.
     
  2. TROODON

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

    С нами с:
    4 ноя 2007
    Сообщения:
    112
    Симпатии:
    0
    Вопрос снят.
    если кому нибудь пригодится, то:
    PHP:
    1. <?php
    2. function h1replace($string)
    3. {
    4.     // регулярное выражение для поиска
    5.     $search = "!<p\sstyle\=\"text\-align\:\scenter\"><span\sstyle\=\"font\-size\:\slarge\"><font\ssize\=\"4\">(.*?)</font></span></p>!si";
    6.     // выражение для замены
    7.     $replace = '<div align="center" id="head_text"><h1>\\1</h1></div>';
    8.     return preg_replace($search, $replace, $string);
    9. }
    10. ?>