|
|
|
| Добрый день. Делаю замену по некой регулярке на
То есть берется первое подвыражение, потом единица, потом второе подвыражение. Проблема в том, что '\\1'.'1' = '\\11', а как экранировать не знаю. Спасибо | |
|
|
|
|
|
|
|
для: yadyra
(20.03.2012 в 15:29)
| | Попробуйте альтернативную запись
| |
|
|
|
|
|
|
|
для: cheops
(20.03.2012 в 16:57)
| | О, да, огромное спасибо! | |
|
|
|
|
|
|
|
для: yadyra
(20.03.2012 в 17:03)
| | Немного усложняем задачу: поиск с заменой. php:
$content = mb_ereg_replace($this->regexp, $this->replace, $content, 'e');
|
Регулярка, на которую заменяем ($this->replace), выглядит так:
'"<p><span class=\"desc\">Описание:</span> ".$this->store_and_json("\\1", "\\2")."</p>"'
|
Работает отлично, с вызовом функции store_and_json, но если исходный текст ($content) с кавычками, вылетает Parse error, что логично. Пробую экранировать как написано выше разными способами, не получается рабочий вариант.
Чтобы была полная картина, еще 2 переменных:
$this->regexp = '(Description):([^<]*?)<\/p>';
$content = '<p>Description:A fungicide used as a seed treatment to control "damping off" (Pithium sp)
and as a spray to control other fungi such as Botrytis. Also pesticide transformation product.</p>';
|
UPD.
store_and_json(\'\\1\', \'\\2\')
теперь вероятно будут проблемы с ' | |
|
|
|