Регулярные выражения в php

Тема в разделе "WASM.ZEN", создана пользователем xssww2, 1 дек 2009.

  1. xssww2

    xssww2 New Member

    Публикаций:
    0
    Регистрация:
    11 апр 2009
    Сообщения:
    84
    Написал регулярное выражение:

    $String = 'abc';
    $String .= "\n";
    if ($Position == 'first')
    $Contents = preg_replace("/(# Table\n)([\S]+\n)([\S]+\n)([\S]+\n)/", "\$1$String\$3\$4", $Contents);
    else
    $Contents = preg_replace("/(# Table\n)([\S]+\n)([\S]+\n)([\S]+\n)/", "\$1\$2\$3$String", $Contents);

    оно должно заменить строку в таблице $Contents:
    # Table
    string1
    string2
    string3

    в зависимости от значения: $Position, при этом остальные строки оставить как есть
    Так вот вопрос, запускаю скрипт на виртуальных машинах (двух практически одинаковых), на одной работает, на другой нет, в чем проблема?
     
  2. xssww2

    xssww2 New Member

    Публикаций:
    0
    Регистрация:
    11 апр 2009
    Сообщения:
    84
    добавлю, там где не работает - никакой замены не происходить, таблица остаеца такой же как и была
     
  3. xssww2

    xssww2 New Member

    Публикаций:
    0
    Регистрация:
    11 апр 2009
    Сообщения:
    84
    ну вобщем оказалась что на одной системе файл имел досовскую кодировку 0dh,0ah
    а на другой юниксовую 0ah - поэтому и не работало