Показано с 1 по 8 из 8

Тема: Замена регулярным выражением

  1. #1

    Регистрация
    11.09.2004
    Сообщений
    78
    Вообщем проблема:
    Нужно заминить в строке фрагмент такой:
    style="HEIGHT: [тут цифра]; WIDTH: [тут цифра]";
    я понимаю, что preg_replace'ом, но вот регулярных выр. я плохо знаю.
    Помогите

  2. #2

    Регистрация
    08.03.2005
    Адрес
    этих
    Сообщений
    275
    preg_replace("/HEIGHT\: (.*?)/","HEIGHT: цифра", $str)

    тип того вроде
    Хотя я сам исчо не доконца осилил разметку эту =)

  3. #3

    Регистрация
    30.06.2004
    Адрес
    Ангарск
    Сообщений
    245
    preg_replace("/HEIGHT\: (.*?)/","HEIGHT: цифра", $str)

    Нет, в таком случае надо цифру писать. Да и заменить он всё, что пойдет после HEIGHT. (.*?) по сути дела до самого конца. Без ограничение.

    Лучше такое решение. Везде где попадется в тексте конструкция HEIGHT:[цифры] заменить на HEIGHT:эти же цифры.

    Код:
    $str="HEIGHT:[1232]; WIDTH:[34545];";
    $rezult=eregi_replace("HEIGHT:(\[)([0-9]+)(\])","HEIGHT:\\2",$str);
    echo $rezult;
    используется REGXP.

    Если же треба всё перебрать, то
    Код:
    $str="HEIGHT:[1232]; WIDTH:[34545];";
    $rezult=eregi_replace("(HEIGHT|WIDTH):\[([0-9]+)\]","\\1:\\2",$str);
    echo $rezult;
    В конструкции где (HEIGHT|WIDTH) вы можете катать что угодно HEIGHT|WASYA|WIDTH и т.д. В итоге название:[цифры] меняется на название:цифры .... всё.

  4. #4

    Регистрация
    11.09.2004
    Сообщений
    78
    ну вообще квадратные скобки тут не нужны (ну в самой строке)....
    $str = 'style="HEIGHT: 21; WIDTH: 42"';
    вот такую мне стрроку надо. только цифры могут менятся

  5. #5

    Регистрация
    11.09.2004
    Сообщений
    78
    а вообще если описать проблему полностью:
    В хтмл редакторе не изменяется размер картинки. там что - то с стилями трабла.
    надо заменить
    style="HEIGHT: n; WIDTH: n";
    на
    height='n' width='n'
    где n - любое число.

  6. #6

    Регистрация
    30.06.2004
    Адрес
    Ангарск
    Сообщений
    245
    Сходу что пришло в голову :

    Код:
    $str='style="HEIGHT: 21; WIDTH: 42"';
    $rezult=eregi_replace("style=\"height: ([0-9]+); WIDTH: ([0-9]+)\"","height=\\1 width=\\2",$str);
    echo $rezult;
    правда это совсем проблематичный пример. Просто если форматирование (точное) строки известно ... style="HEIGHT:пробел21;пробелWIDTH:п обел42"

    Тогда сработает.

  7. #7

    Регистрация
    08.03.2005
    Адрес
    этих
    Сообщений
    275
    эм... проблемы не понял...
    нада просто БАЛЬШИЕ БУКВЫ на маленькие заменить? =)

  8. #8

    Регистрация
    11.09.2004
    Сообщений
    78
    mymind, спасибо большое тебе! разобрался с выражениями и решил проблему.
    2GoDoom, нет. фактически скрипт менял указанную высоту и ширину любой картинки в стилях -- на ХТМЛовскую..

Похожие темы

  1. Китайская инновация «замена няни»
    от Kiselyov в разделе Дизайн-лента
    Ответов: 0
    Последнее сообщение: 07.03.2009, 02:55
  2. Замена картинки при наведении
    от KukMan в разделе Вёрстка сайта
    Ответов: 17
    Последнее сообщение: 22.09.2008, 03:08
  3. замена картинки
    от lenmikh в разделе Вёрстка сайта
    Ответов: 19
    Последнее сообщение: 19.03.2007, 11:33
  4. HElp замена текста
    от vov4ik86 в разделе Вёрстка сайта
    Ответов: 3
    Последнее сообщение: 05.11.2006, 16:20
  5. Замена фона при открытии.
    от cas в разделе Веб-программирование
    Ответов: 1
    Последнее сообщение: 21.09.2005, 06:19

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •