PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (4): « 1 2 [3] 4 »
Найдено сообщений: 52
borus
Отправлено: 28 Декабря, 2012 - 09:57:00 • Тема: Зачем использовать подряд *+ в шаблоне? • Форум: Регулярные выражения
Ответов: 3 Просмотров: 247
Здравствуйте.
Поясните, для чего используется сочетание "*+" в шаблоне:
?
Насколько понимаю * и + оба - квантификаторы, но зачем они идут сразу друг за другом? Похоже на масло масленное
borus
Отправлено: 24 Декабря, 2012 - 10:13:52 • Тема: Почему не подменяется текст, если регвыражение верно? • Форум: Вопросы новичков
Ответов: 7 Просмотров: 325
armancho7777777 пишет:
Что-то не получается у меня с условием сделать.
То есть спрва моет быть закрывающий tr, а может и не быть.
не работает.
Привожу весь работающий код:
PHP:
скопировать код в буфер обмена
<?PHP
//header('Content-type:text/html;charset=utf-8');
/*Получение данных.*/
function data( $path , $host ) {
if ( ! $fp ) { die ( 'ошибка' ) ; } else {
$out = "GET $path HTTP/1.0\r \n " ;
$out .= "Accept: image/gif, application/xhtml+xml, */*\r \n " ;
$out .= "Accept-Language: ru\r \n " ;
$out .= "Host: $host \r \n " ;
//прикинемся оперой-мини
$out .= "User-Agent: Opera/8.01 (J2ME/MIDP; Opera Mini/2.0.4509/1716; ru; U; ssr)\r \n " ;
$out .= "Cache-Control: no-cache\r \n " ;
$out .= "Connection: Close\r \n \r \n " ;
$headers = "" ;
$headers .= "$str \n " ;
$body = "" ;
}
return $body ;
}
$host = 'downloads.1c.ru' ;
$path = '/release_info/categ_js.jsp?GroupID=88' ;
//запуск
$s = data( $path , $host ) ;
//обрабатываем (ВТОРОЙ ЭТАП)
function process( $s ) {
$s = preg_replace ( '/document\.write\(\'(.*?)\'\);/is' , '$1' , $s ) ; $s = stristr ( $s , '<table border="1" cellpadding="3" cellspacing="0" width="100%" class="content">' ) ; $s = preg_replace ( '/(?<=<\/tr>)\s*<tr.*?Конвертация данных.*?<\/tr>/is' , '' , $s ) ; return $s ;
}
$s = process( $s ) ;
echo preg_replace ( '/\s*<tr.*?Конвертация данных.*?<\/tr>/is' , '' , $s ) ; ?>
borus
Отправлено: 19 Декабря, 2012 - 15:35:52 • Тема: Как исправить шаблон? • Форум: Вопросы новичков
Ответов: 9 Просмотров: 359
sKaa пишет: borus , опишите нормально задачу.
этим кодом
пытаюсь поудалять строки из переменной $s, содержащей html код таблицы.
Типовой html-код строк таблицы, которые надо вырезать из переменной $s показан во вложении
borus
Отправлено: 19 Декабря, 2012 - 15:17:48 • Тема: Как исправить шаблон? • Форум: Вопросы новичков
Ответов: 9 Просмотров: 359
пытаюсь шаблоном '/<tr.+?Конвертация данных.+?<\/tr>/' удалить строку таблицы.
что-то не получается. Прошу помощи
borus
Отправлено: 19 Декабря, 2012 - 13:55:42 • Тема: Как исправить шаблон? • Форум: Вопросы новичков
Ответов: 9 Просмотров: 359
Вы же пишите
vlados пишет: в случае ошибки возвращается NULL.
выходит не правильное регвыражение?
вот это сработало
'/\/\/\s\d{2,3}\s-->\s/is'
borus
Отправлено: 19 Декабря, 2012 - 13:09:23 • Тема: Как исправить шаблон? • Форум: Вопросы новичков
Ответов: 9 Просмотров: 359
Здравствуйте!
На странице работает следующий код грабера:
CODE (
text ):
скопировать код в буфер обмена
<?php
//header('Content-type:text/html;charset=utf-8');
/*Получение данных.*/
function data($path,$host){
$fp = fsockopen($host, 80);
if (!$fp){die('ошибка');}
else{
$out = "GET $path HTTP/1.0\r\n";
$out .= "Accept: image/gif, application/xhtml+xml, */*\r\n";
$out .= "Accept-Language: ru\r\n";
$out .= "Host: $host\r\n";
//прикинемся оперой-мини
$out .= "User-Agent: Opera/8.01 (J2ME/MIDP; Opera Mini/2.0.4509/1716; ru; U; ssr)\r\n";
$out .= "Cache-Control: no-cache\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
$headers = "";
while ($str = trim(fgets($fp)))
$headers .= "$str\n";
$body = "";
while (!feof($fp))
$body .= fgets($fp);
fclose($fp);
}
return $body;
}
$host='downloads.1c.ru';
$path='/release_info/categ_js.jsp?GroupID=88';
//запуск
$s=data($path,$host);
//обрабатываем (ВТОРОЙ ЭТАП)
function process($s){
$s=mb_convert_encoding($s,'UTF-8','CP1251');
$s = preg_replace('/document\.write\(\'(.*?)\'\);/is', '$1', $s);
$s=stristr($s,'<table border="1" cellpadding="3" cellspacing="0" width="100%" class="content">');
// $s = preg_replace('/\s////\s\d{2,3}\s-->\s/is', '', $s); // ! Это не работает !
return $s;
}
$s=process($s);
//выдаем результат (ТРЕТИЙ ЭТАП)
echo 'here is "var_dump(htmlspecialchars(var_export($s, TRUE)));" output:<br/><br/>';
var_dump(htmlspecialchars(var_export($s, TRUE)));
echo "<br/><br/><br/>";
echo 'And here is "echo $s;" output:<br/><br/>';
echo $s;
?>
Пытался удалить группы символов типа " // 121 --> " (пробелы в начале и конце) с помощью команды
работает не так как ожидал, если раскоментить эту строку.
Скажите, в чем шаблон '/\s////\s\d{2,3}\s-->\s/is' неправилен?
borus
Отправлено: 17 Декабря, 2012 - 19:25:47 • Тема: Отключить сглаживание шрифтов в FF средствами PHP • Форум: Вопросы новичков
Ответов: 1 Просмотров: 109
Здравствуйте.
В FireFox применяется сглаживание шрифтов, отсюда отличное от других браузеров отображение текста(по крайней мере для Verdana bold). Прочитал, что в конфиге FF для это надо изменить настройку gfx.content.azure.enabled в false, но это делается руками через настройки. Есть ли возможность повлиять на эту настройку средствами PHP?
Страниц (4): « 1 2 [3] 4 »
Powered by ExBB FM 1.0 RC1. InvisionExBB