Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Поиск повторяющихся фрагментов.
Форумы портала PHP.SU » PHP » Регулярные выражения » Поиск повторяющихся фрагментов.

Страниц (1): [1]
 

1. DobrijUser - 25 Февраля, 2013 - 21:22:05 - перейти к сообщению
Доброго времени.
Ситуация следующая:
Есть код вида
CODE (htmlphp):
скопировать код в буфер обмена
  1. <input type="checkbox" name="var" value="value1"/> Some text 1
  2. <input type="checkbox" name="var" value="value2"/> Some text 2
  3. ...
  4. <input type="checkbox" name="var" value="valueN"/>Some text N

При условии что много чекбоксов с одним именем, необходимо заменить имена var на var[], чтобы скрипт обработал корректно. Но не менять другие чекбоксы на [].
В сети обширной примеры вроде
PHP:
скопировать код в буфер обмена
  1. preg_match('#<input type="checkbox" name="([a-z]+)"(.*?)<input type="checkbox" name="\\1"#ism', $string, $array);

$array всё время пуст, не работают, уж как ни извращался. Не хочет использовать оно маску в одном выражении.
Буду признателен любым советам.
(Добавление)
Странное дело, но как только создал тему, так и нашлось решение, над которым уже давно мучился. Нужно использовать не $1, ${1}, \\1, как написано в большинстве примеров, а \1, то есть один слэш.

 

Powered by ExBB FM 1.0 RC1