NOT NULL
Новичок
Preg_replace экранирование знаков
В текстовом файле есть данные разделенные знаком табуляции (база данных фильтров для вездеходов), текстовый файл нужно импортировать в базу данных, но сначала перевести строковые значения в ID так как год, модель и объем которые хранятся в других таблицах. Т.е. файл такой:
год | модель | объем | описание | цена
Должно получится что-то типа:
Вот код, которым я это делаю:
С годом и объемом проблем нет, проблема возникает с моделью, если в её имени встречается какой-нибудь знак типа . (точки) весь файл сразу уродуется естественно.
Подскажите как мне такие знаки экранировать, может быть кто-нибудь уже писал такую функцию?
В текстовом файле есть данные разделенные знаком табуляции (база данных фильтров для вездеходов), текстовый файл нужно импортировать в базу данных, но сначала перевести строковые значения в ID так как год, модель и объем которые хранятся в других таблицах. Т.е. файл такой:
PHP:
1987 YFM350FW Big Bear 350 K&N FILTRO OLIO 11,32
1988 YFM350FW Big Bear 350 K&N FILTRO OLIO 11,32
1989 YFM350FW Big Bear 350 K&N FILTRO OLIO 11,32
Должно получится что-то типа:
PHP:
2 1 3 K&N FILTRO OLIO 11,32
3 1 3 K&N FILTRO OLIO 11,32
4 1 4 K&N FILTRO OLIO 11,32
PHP:
<?php
require("core.php");
$file = "filtriolio.txt";
$string = file_get_contents($file);
$sql = "SELECT * FROM `shop_name`";
$result = mysql_query($sql);
while( $row = mysql_fetch_object($result) ){
$string = preg_replace( '/'.$row->name . '[^\t]*/i', $row->id, $string );
}
$fp = fopen($file, "w" );
if( !fputs ( $fp , $string ) ){
die("Can't write into the file");
}
fclose( $fp );
echo "Done..";
?>
Подскажите как мне такие знаки экранировать, может быть кто-нибудь уже писал такую функцию?
