#1.
Alaya
Off
(7)
Участник
2010.09.16 10:10
Как сделать, что бы при копировании текста в базу из текстовых файлов этим кодом, символы (например перенос или _ или * и так далее), не записывались в базу ?
Код:
$q = mysql_query('SELECT `path` FROM `files` WHERE LOWER(SUBSTR(`path`, -3)) = "txt"', $mysql); |
|
|
$ok = $fuck = 0; |
while($r = mysql_fetch_assoc($q)) { |
$f = fopen($r['path'], 'r'); |
$name = htmlspecialchars(iconv_substr(trim(fgets($f, 1024). fgets($f, 1024)), 0, 100), ENT_NOQUOTES); |
fclose($f); |
|
if (mysql_query( |
'UPDATE |
`files` |
SET |
`name` = "'.mysql_real_escape_string($name, $mysql).'", |
`rus_name` = "'.mysql_real_escape_string($name, $mysql).'" |
WHERE |
`path` = "'.mysql_real_escape_string($r['path'], $mysql).'" |
LIMIT 1 ;' |
, $mysql)) { |
$ok++; |
} else { |
$fuck++; |
} |
} |
|
mysql_close($mysql); |
То есть это часть текста из текстового файла берется для его названия, заносятся в базу. Я хотела бы, что бы знаки * < / _ перенос сроки и прочие, присутствующие иногда, как бы пропускались, не записывались в базу, не отображались в названии, а чистый текст.
любой код можно заставить работать методом тыка. Если долго тыкать
#2.
Nu3oN
Off
(11)
Moderator
2010.09.16 11:11
если я тебя так понял то:
$var = strtr($name, array("*" => null, "\n" => null));
И так далее
Я буду лучше голоден, но между креслом и рулем и на дороге.
#3.
Alaya
Off
(7)
Участник
2010.09.16 13:01
Спасиб, но не работает
куда эту запись вставить?
Код:
$ok = $fuck = 0; |
$var = strtr($name, array("*" => null,"_" => null, "\n" => null)); |
|
while($r = mysql_fetch_assoc($q)) { |
$f = fopen($r['path'], 'r'); |
$name = htmlspecialchars |
так?
Nu3oN написал:
если я тебя так понял то:
$var = strtr($name, array("*" => null, "\n" => null));
И так далее
любой код можно заставить работать методом тыка. Если долго тыкать