Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Читаем строки с файла, кодируем в base64 и сверяем с требованиями.
 
 автор: ZetRider   (15.01.2006 в 21:11)   письмо автору
 
 

Нужен скрипт который бы читал строки с файла, кодировал их в base64 и сверяем с требованиями такими:
1) Строка длолжна состоять точно из 32 символов!
2) В строке должны быть символы только
"1","2","3","4","5","6","7","8","9","0","A","B","C","D","F","a","b","c","d","f"
Если все ети требования выполнились, то строка выводится на экран а если нет то переходит к следуещей строке в файле и проверяет ее.
Вот то что удалось написать:
Этот скрипт кодирует строки в base64:
<?
$file = file("list.txt");
$str = "";
for ($i=0;$i<sizeof($file);$i++)
{
$str .= base64_encode($file[$i]);
}
print "$str";
?>
Этот скрипт сверяет сколько символов в строке
<?
$strg = "12132";
$string_len = strlen($str);
if(strlen($string_len == 4))
{
echo "Yes";
}
else
{
echo "NO";
}
?>
Этот скрипт смотрит какие символы есть а каких нету в строке, но этот скрипт нужно переделать чтобы он делал так, если хоть один символ присутствует в строке кроме тех которые назначены он ету строку выбрасывает
<?
$str = "123eA";
$A = array();
$A = array("1","2","3","4","5","6","7","8","9","0","A","B","C","D","F","a","b","c","d","f");
foreach ($A as $value)
{
if(strstr($str, $value))
{
echo "Yes";
}
else
{
echo "NO";
}
}
?>
Помогите плииииз....!

   
 
 автор: Саня   (15.01.2006 в 22:13)   письмо автору
 
   для: ZetRider   (15.01.2006 в 21:11)
 

<?php
// Прочитаем весь файл в одну строку
$file file_get_contents("list.txt");
// Ну и закодируем
$file_encode base64_encode($file);


// strlen() возвращает длину строки
if (strlen($file_encode) == 32) {
  echo(
"Yes");
} else {
  echo(
"No");
}

// Регулярное выражение
// если в строке встречаются цифры от 0 до 9
// и буквы от a до f (abcdef) в любой последовательности
// значит выводим "Yes". Если строка содержит хоть один
// символ, не указанный выше - выводится "No"
// "i" означает игнорирование регистра 
if (preg_match("/^[0-9a-f]+$/i"$file_encode)) {
  echo(
"Yes");
} else {
  echo(
"No");
}
?>

   
 
 автор: ZetRider   (15.01.2006 в 22:32)   письмо автору
 
   для: Саня   (15.01.2006 в 22:13)
 

Спасиб, почти правильно, НО!
// Регулярное выражение
// если в строке встречаются цифры от 0 до 9
// и буквы от a до f (abcdef)
// значит выводим "Yes".
Нет, нужно сделать так чтобы, скрипт выводил слово если кроме символов 0-9a-f больше ничего невстречалось в строке,... а если кроме 1234567890abcdf встретилось то невыводит..

   
 
 автор: Саня   (15.01.2006 в 22:35)   письмо автору
 
   для: ZetRider   (15.01.2006 в 22:32)
 

preg_match("/^[0-9a-df]+$/i", $string);

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования