2010-04-20 2 views
1

Предположим, что в файле есть образец, как sumthing.c: и asdfg.c: и многое другое .. с * .c: модельPHP заменить шаблон

Как заменить это с текстом yourinput и сохраните файл с помощью PHP

узор *.c

спасибо ..

+0

Не имеет никакого смысла, что вы пытаетесь заменить словами «yourinput»? Вы не можете заменить имена файлов из нескольких файлов. –

ответ

3

Вы можете прочитать содержимое файла в PHPstring с помощью file_get_contents, сделать *.c к yourinput замены в строке и записать его обратно в файл, используя file_put_contents:

$filename = '...'; // name of your input file. 
$file = file_get_contents($filename) or die(); 
$replacement = '...'; // the yourinput thing you mention in the quesion 
$file = preg_replace('/\b\w+\.c:/',$replacement,$file); 
file_put_contents($file,$filename) or die(); 
0

Вы можете использовать str_replace или str_replace РНР (в случае, если его шаблон регулярного выражения). CHeck синтаксис этих двух функций и замените * .c на ваш вход.

.c картина должна быть чем-то вроде/ (с.) $/

+0

не будет '/ \. C $ /'? (Я никогда не видел? В начале регулярного выражения раньше: что он делает?) – nickf

0

Первый открытый файл и получить его содержание:

$content = file_get_contents($path_to_file); 

Чем изменить содержание:

$content = preg_replace('/.*\.c/', 'yourinput'); 

Наконец, сохраните результат в файле.

file_put_contents($path_to_file, $content); 

Примечание: Вы можете рассмотреть вопрос об изменении регулярных выражений, потому что таким образом он соответствует '.c' строку и все перед ним. Возможно, '/[a-zA-Z]*\.c/' - это то, что вы хотите.

+0

'/^.* \. C $ /' как вы бы соответствовали всей строке - не забудьте '$ 'в конце концов, в противном случае будет сопоставлен любой файл с« .c »в нем (например: myfile.cab, myfile.current.txt). – nickf

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