2013-02-24 3 views
1

Я пытаюсь заменить несколько ключевых слов в файле csv, например, у меня есть список ключевых слов cat, mouse, dog с я хотел бы заменить что-то, здесь, я в настоящее время использую это http://phpcsv.sourceforge.net/phpcsv-1.0.php, это прекрасно, и он говорит, что он использует PCRE для замены значений, мой вопрос в том, что мне нужно вводить в поле поиска и замены для достижения этого результата?PCRE заменить несколько значений на несколько строк

+0

Что вы имеете в виду? Вы заменяете их на PHP, поэтому какие поля поиска и замены вы вводите? – Jon

+0

Я использую http://phpcsv.sourceforge.net/phpcsv-1.0.php, у него есть 2 поля для поиска, замены, мне жаль, что я не кодер, я не понимаю многих вещей. – XkiD

+0

было бы проще с [' str_replace'] (http://www.php.net/manual/en/function.str-replace.php) и предоставить ему массивы для шаблона и замены. – Jon

ответ

1

Вы можете использовать

Поиск(?<=^|,)(cat|mouse|dog)(?=,|$)Заменить${1}2

${1} используется для ссылки на строку, захваченное () в Search поле.
Обычно вы можете использовать $1, но так как он немедленно следует 2, то 1 должен быть заключен в {}.

Если значения могут быть указаны в ", добавьте "? до и после (cat|mouse|dog).

(?<=^|,) означает, что смотреть за ним должно быть начало строки или запятой.
(?=,|$) означает, что впереди впереди должна быть запятая или конец строки.

Если замены для каждого ключевого слова различны, я думаю, что вам придется делать каждый отдельно, например.

Поиск(?<=^|,)cat(?=,|$)Заменитьhamster

В качестве альтернативы, если используется собственный код, который вы могли бы сделать все замены в один присест, передавая массивы в качестве аргументов preg_replace.

+0

но ват, если я хочу что-то вроде кошки, мыши, собаки и замены хомяком, слоном, осьминогом, вот что я хотел, но я ошибочно написал cat2 и т. Д. – XkiD

+0

@XkiD. Обновленный ответ. – MikeM

Смежные вопросы