Articles of preg replace callback

Проблема с шаблоном preg_replace_callback

Я использую следующий шаблон для захвата ссылок и превращаю их в дружественные HTML-ссылки. Я использую следующий шаблон в preg_replace_callback и по большей части работает. "#(https?|ftp)://(\S+[^\s.,>)\];'\"!?])#" Но этот шаблон не работает, когда текст читается так: http://mylink.com/page[/b] В этот момент он захватывает [/ b забаву, это часть ссылки, в результате чего: <a href="http://woodmill.co.uk[/b">woodmill.co.uk[/b</a>] Я просматриваю образец и […]

Заменить на основе строки регулярного выражения и возвращаемой строки

У меня логический запрос в виде строки, например: mydate == 'один день назад' && mydate> 2014-05-16 16:00:00 Мне нужен каждый экземпляр даты, замененный меткой времени. Мой текущий код может заменить дату YYYY-MM-DD HH:MM:SS временную метку с помощью strtotime() : $my_string = "mydate == 'one day ago' && mydate > 2014-05-16 16:00:00"; // Pattern: *YYYY-MM-DD HH:MM:SS* […]

PHP Соответствующие URL-адреса и использование preg_replace_callback ()

Я использую следующее, чтобы найти все URL-адреса внутри $ content $content = preg_match_all( '/(http[s]?:[^\s]*)/i', $content, $links ); Но это будет зависеть от http:// part в http://www.google.com/some/path . Мои вопросы: 1 – Как я могу изменить его, чтобы использовать также ссылки, которые начинаются только с www , например, на www.google.com ? 2 – Основная цель – […]

PHP preg_replace: Устаревший

У меня есть это устаревшее предупреждение после переключения моего php на 5.5.8, Устаревший: preg_replace (): модификатор / e устарел, используйте вместо preg_replace_callback в C: \ wamp \ www … Curly.php в строке 28 Это функция в моем классе Curly , public function replace ($input, $options = array()) { return preg_replace("/\{{2}(([az\_]+\|.+)|([az\_]+))\}{2}/Ue",'$this->_replace("\\1",$options)',$input); } поэтому, если я использую […]

Используйте локальную переменную в preg_replace_callback – PHP

Как использовать локальную переменную в preg_replace_callback в PHP. У меня есть следующий код: function pregRep($matches) { global $i; $i++; if($i > 2) { return '#'.$matches[0]; } else { return $matches[0]; } } $i = 0; $str = preg_replace_callback($reg_exp,"pregRep",$str); А также $str является строкой, $reg_exp является выражением регулярного выражения. Оба они хорошо определены. Спасибо за вашу […]

Могу ли я каким-то образом узнать, какая замена происходит из-за обратного вызова preg_replace_callback?

Я использую preg_replace_callback для замены определенных токенов внутри строки. Но помимо фактического токена мне также нужно знать, был ли этот токен первым, вторым или третьим в строке темы. Есть ли способ получить доступ к этой информации? Я нашел аргумент $ count в определении preg_replace_callback ( http://php.net/manual/en/function.preg-replace-callback.php ), который учитывает замены, но я не уверен, что […]

FROM preg_replace TO preg_replace_callback

Привет, коллеги! У меня возникли проблемы с обновлением старой функции до preg_replace_callback. Изменить: что я делаю неправильно? Это моя первая (preg_replace / устаревшая) функция: if ($handle) { while (!feof($handle)) { $buffer = fgets($handle, 4096); @eval('$templ = new '.TEMPL_CLASS.';'); $buffer = preg_replace("#§([a-z0-9-_]+)\.?([a-z0-9-_]+)?#ie","\$templ->\\1(\\2)",$buffer); $out .= $buffer; } fclose($handle); } Вторая функция (это моя попытка конвертировать в preg_replace_callback): […]

Как заставить функцию работать для парных слов?

Моя функция теперь работает только с одним словом. Например, у меня есть слова в ассоциативном массиве. И моя функция заменяет ключ массива его значением в тексте. И функция сохранения слов в нижнем регистре, но когда вы заменяете слова, он возвращает регистр входящих слов, который написан на тексте. Теперь функция не может работать с парами слов, […]

Preg_replace или preg_replace_callback?

У меня есть ссылки на некоторых страницах, которые используют старую систему, такую ​​как: <a href='/app/?query=stuff_is_here'>This is a link</a> Они должны быть преобразованы в новую систему: <a href='/newapp/?q=stuff+is+here'>This is a link</a> Я могу использовать preg_replace t0 изменить некоторые из того, что мне нужно, но мне также нужно заменить подчеркивания в запросе на +. Мой текущий код: […]

Как получить доступ к переменной внутри preg_replace_callback?

Я пытаюсь заменить {{key}} элементы в моем $text значениями из переданного массива. но когда я попытался добавить print_r чтобы посмотреть, что происходит, у меня есть Undefined variable: kvPairs ошибка Undefined variable: kvPairs . Как я могу получить доступ к моей переменной формы в preg_replace_callback ? public function replaceValues($kvPairs, $text) { $text = preg_replace_callback( '/(\{{)(.*?)(\}})/', function […]