За последние 24 часа нас посетили 20311 программистов и 1082 робота. Сейчас ищут 746 программистов ...

Помогите Preg_replace

Тема в разделе "PHP для профи", создана пользователем kot_k_k, 13 дек 2018.

  1. kot_k_k

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

    С нами с:
    22 июл 2014
    Сообщения:
    46
    Симпатии:
    1
    Добры день.

    есть текст
    .....
    function dessccTable(&$connection) {

    .......
    function TypeDecorator($hash) {
    $hash['varType'] = 'invoices_type_'.$hash['varTypeID'];
    ........
    function orderTable(&$connection) {
    .........

    хочу заменить все function ******(&$connection) на function __construct(&$connection)

    сделал вот такую регулярку
    preg_replace('#function .*\\(\\&\\$connection\\)#sUi', 'function __construct(&$connection)', $text);

    работает криво.

    возвращает

    .....
    function __construct(&$connection) {
    .......
    function __construct(&$connection) {
    .........

    грохает все что между.

    вопрос - как дописать чтоб не убивало все что не "function ******(&$connection)".
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.734
    Симпатии:
    1.315
    Адрес:
    Лень
  3. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
    @kot_k_k, может, стоит "жадность" убрать для квантификатора "ноль и более раз"?
     
  4. kot_k_k

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

    С нами с:
    22 июл 2014
    Сообщения:
    46
    Симпатии:
    1
    знать бы где та "жадность".
     
  5. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
    MouseZver нравится это.
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.734
    Симпатии:
    1.315
    Адрес:
    Лень
    @Sail, красава, я эту статью в закладках потерял давненько
     
  7. kot_k_k

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

    С нами с:
    22 июл 2014
    Сообщения:
    46
    Симпатии:
    1
    #function [^\\(]*\\(\\&\\$connection\\)#sUi

    вот так получается.

    @Sail спасибо за ссылку, очень толково расписано.
     
    #7 kot_k_k, 14 дек 2018
    Последнее редактирование: 14 дек 2018